%
% \iffalse
%
% komascr.dtx Copyright (C) 1994 Markus Kohm
%
% This file is part of the LaTeX2e KOMA-Script-Bundle
%
% It should be distributed UNCHANGED and together with all other
% files in the KOMA-Script-Bundle. The file readme.txt contains a list
% of all these files.
%
% A modified version of this file may be distributed, but it should
% be distributed with a DIFFERENT name. Changed files must be
% distributed TOGETHER WITH A COMPLETE AND UNCHANGED distribution
% of these files.
%
% See also readme.txt for further information.
%
% This bundle is written specialy for use at german-language. So the
% main documentation is german. Perhaps there'll be a time, you may
% get a english documentation. If you want to write it, you may
% contact me, see readme.txt.
%
%
% Das ganze jetzt noch einmal kurz auf Deutsch:
%
% Diese Datei ist Teil des LaTeX2e KOMA-Script-Pakets.
%
% Die Datei sollte nur UNVER"ANDERT und zusammen mit allen anderen
% Dateien aus dem Paket weitergegeben werden. Die Datei liesmich.txt
% enth"alt eine Liste all dieser Dateien.
%
% Eine ver"anderte Version dieser Datei darf weitergegeben werden,
% aber nur, wenn sie einen ANDEREN Namen bekommt. Ver"anderte Dateien
% d"urfen nur ZUSAMMEN MIT EINER KOMPLETTEN UND UNVER"ANDERTEN Version
% dieser Dateien weitergegeben werden.
%
% Unter keinen Umst"anden ist erlaubt durch Weitergabe oder zur Verf"ugung
% stellen einer oder mehrerer Dateien aus dem KOMA-Script-Paket einen
% wie auch immer gearteten Gewinn zu erzielen.
%
% Weitere Informationen sind in liesmich.txt zu finden.
%
% Dieses Paket ist f"ur den deutschen Sprachraum konzipiert. Daher ist
% auch Haupt-Anleitung komplett in Deutsch. Vielleicht wird es irgendwann
% auch einmal eine englische Dokumentation geben. Wer eine solche
% erstellen m"ochte, kann sich gerne an mich wenden. Siehe dazu ebenfalls
% liesmich.txt.
%
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
%<*dtx>
            \ProvidesFile{komascr.dtx}
%</dtx>
%<scrdoc|scrartcl|scrreprt|scrbook|scrlettr|typearea>\NeedsTeXFormat{LaTeX2e}[1994/06/01]
%<driver>\ProvidesFile{komascr.drv}
%<scrdoc>\ProvidesClass{scrdoc}
%<scrartcl>\ProvidesClass{scrartcl}
%<scrreprt>\ProvidesClass{scrreprt}
%<scrbook>\ProvidesClass{scrbook}
%<scrlettr>\ProvidesClass{scrlettr}
%<dir>\ProvidesFile{dir.tex}
%<phone>\ProvidesFile{phone.tex}
%<typearea>\ProvidesPackage{typearea}
              [1994/12/31 v2.1b LaTeX2e KOMA
%<scrdoc|scrartcl|scrreprt|scrbook|scrlettr>               document class]
%<dir>              interactiv address-directory generation]
%<phone>              interactiv phone-number-directory generation]
%<typearea>               package]
%
%<*driver>
              Script bundle]
\documentclass[headsepline,twoside]{scrdoc}
\usepackage{german}
\pagestyle{headings}
\begin{document}
 \DocInput{komascr.dtx}
\end{document}
%</driver>
%
% Jetzt sehen wir einmal, wieviel Dokumentation gew"unscht wird.
% \fi
% \newif\ifMainDocument\MainDocumentfalse%
% \newif\ifImplDocument\ImplDocumentfalse%
% \def\j{j}\def\y{y}%
% \def\ja{ja}\def\yes{yes}%
% \def\Ask#1#2{\typein[#1]{#2}}
% \Ask\answer{Do you want the Main-Documentation? [y/n]^^J%
%             Wollen Sie den Hauptteil der Anleitung? [j/n]}%
% \ifx\y\answer\MainDocumenttrue\fi
% \ifx\yes\answer\MainDocumenttrue\fi
% \ifx\j\answer\MainDocumenttrue\fi
% \ifx\ja\answer\MainDocumenttrue\fi
% \Ask\answer{Do you want the Implementation-Documentation? [y/n]^^J%
%             Wollen Sie den Implementierungsteil der Anleitung? [j/n]}%
% \ifx\y\answer\ImplDocumenttrue\fi
% \ifx\yes\answer\ImplDocumenttrue\fi
% \ifx\j\answer\ImplDocumenttrue\fi
% \ifx\ja\answer\ImplDocumenttrue\fi
%
% \GetFileInfo{komascr.dtx}
% \title{Das \textsf{KOMA-Script} Paket\thanks{Diese Datei hat die
%        Versionsnummer \fileversion, letzte "Anderung vom \filedate.}}
% \uppertitleback{Haftungsausschlu"s:\\Es wird keinerlei Haftung
%                 "ubernommen f"ur irgendwelche Sch"aden, die aus
%                 der Benutzung der Programme des hier beschriebenen
%                 Paketes folgen.}
% \author{Frank Neukam\and Markus Kohm}
% \date{\filedate}
% \maketitle
% \tableofcontents
%
% \CheckSum{4571}
%
% \changes{v2.0e}{1994/10/28}{Erste Version, die \texttt{docstrip} verwendet.}
%
% \def\oarg#1{{\ttfamily[}{\em#1\/}{\ttfamily]}}
% \def\arg#1{{\ttfamily\char`\{}{\em#1\/}{\ttfamily\char`\}}}
% \def\star{{\ttfamily*}}
% \makeatletter
% \def\Describe@Macro#1{\endgroup
%              \setbox0=\lastbox\llap{\PrintDescribeMacro{#1}}}%
% \def\Describe@Env#1{\endgroup
%              \setbox0=\lastbox\llap{\PrintDescribeEnv{#1}}}%
% \@addtoreset{chapter}{part}
% \makeatother
% \marginparsep0pt
%
% \ifMainDocument
%
% \chapter{Allgemeines}
%
% \section{Einleitung}
%
% Urspr"unglich erstellt wurde das \textsf{Script-Paket} von Frank Neukam f"ur
% \LaTeX\ 2.09. Ziel war damals einen Style f"ur die Erstellung eines
% Vorlesungs-Skripts zu erstellen.
%
% Zur selben Zeit bekam er Jan Tschicholds Buch "uber Typographie
% \cite{JanTschichold} in die Hand. Damit stand f"ur Frank fest, da"s es an der
% Zeit war, endlich ein paar Styles zu erstellen, die auch die europ"aischen
% Regeln der Typographie und Papierformate ber"ucksichtigen.
%
% Version~1.0 seiner Document-Style-Famile \textsf{Script} ver"offentlichte
% er am 6.~Juni~1992 per ftp. Die Resonanz darauf war enorm.
%
% Irgendwann zwischen Ende 1992 und Anfang 1993 erreichte diese Familie auch
% meinen Rechner. Nachdem ich bereits vorher mit verschiedenen Document- und
% Option-Styles experimentiert hatte, stand f"ur mich sofort fest, da"s diese
% Familie ab sofort als Grundlage f"ur alle meine weiteren T"atigkeiten dienen
% sollte.
%
% Da ich allerdings im Gegensatz zu Frank Neukam nicht das Format DIN A4 bzw.
% ISO A4 sondern A5 bevorzugte, dauerte es nicht lange, bis ich seine Familie
% um eine variable Seitengr"o"senoption erweitert hatte.
%
% Es folten andere Erweiterungen und Erg"anzungen. Ich selbst erstellte auch
% einen Document-Style f"ur eine Literaturgruppe.
%
% Im Dezember 1993, als die Versionsvielfalt um sein Paket gerade in ein Chaos
% auszubrechen drohte, brachte Frank Neukam die Version~2.0 heraus.
%
% Wie jeder wei"s, folgte kurz darauf in Punkto \LaTeX\ ein Quantensprung. Die
% Rufe nach einer neuen, angepa"sten Version wurden laut. Kurz darauf war der
% erste schnelle Hack in Umlauf, der \textsf{Script-2.0} als
% \textsf{Script-2.0e} f"ur \LaTeXe\ verf"ugbar machte.
%
% Nun bin ich ein ewiger --- wenn auch sehr chaotischer --- Perfektionist,
% der mit solchen Notl"osungen nie ganz zufrieden ist. Ich wollte eine L"osung,
% die sowohl m"oglichst konform zu \textsf{Script-2.0} also auch zu \LaTeXe\
% war. Also machte ich mich an die Arbeit.
%
% Die erste Version des Pakets war am 7.~Juli~1994 fertig. Diese Version
% schickte ich unverz"uglich an Frank Neukam, um sein OK oder "Anderungsvorschl"age
% zu bekommen. Unter allen Umst"anden wollte ich ein neues Versionschaos
% vermeiden. Leider habe ich bis heute \emph{keinerlei} Reaktion von Frank
% bekommen. Ob das an den vielen Fehlern, die damals noch enthalten waren, oder
% an anderen Gr"unden lag, wei"s ich nicht.
%
% Jedenfalls sah ich mich gezwungen, meine Version unter anderem Namen und
% --- aufgrund der vielen Nachfragen --- m"oglichst rasch zu ver"offentlichen.
% Daraufhin jagte eine Korrektur die n"achste.
%
% Von Anfang an hatte ich den Ergeiz gehabt, ebenfalls ein vollst"andiges Paket
% und wenn irgend m"oglich mit Hilfe von \textsf{doc/docstrip} zu erstellen.
% Nachdem Axel Kielhorn Anfang Dezember 1994 die bisher vermi"ste letter-class
% beigesteuert hatte, machte ich mich also an den letzten Schritt, der hiermit
% vollendet sein sollte.
%
% Weite Teile dieser Anleitung sind direkt Frank Neukams Anleitung zu
% \textsf{Script 2.0} entnommen. Ich hoffe, da"s er sich irgendwann doch noch
% melden wird, soda"s dieser Punkt zu aller Zufriedenheit gekl"art werden kann.
%
% Bis dahin erkl"are ich mich f"ur \textsf{KOMA-Script} verantwortlich. Alle
% Fehlermeldungen und Verbesserungs- sowie Erweiterungsvorschl"age k"onnen
% entweder an eine meiner e-mail-Adressen, in der news-group de.comp.tex oder
% an meine Postanschrift gerichtet werden:
%
% \begin{labeling}[:]{{\sfb Gelbe Post}}
% \item[\sfb MausNet] Markus Kohm @ KA2
% \item[\sfb Internet] kohm@ira.uka.de\par s\_kohm@ira.uka.de
% \item[\sfb Gelbe Post] Markus Kohm, Augartenstra"se 29, 76137 Karlsruhe
% \end{labeling}
%
% \section{Danksagung}
%
% Ich m"ochte an dieser Stelle eigentlich nur einen explizit nennen. Ich danke
% Frank Neukam f"ur seine Document-Style-Familie \textsf{Script}. Ohne die M"uhe,
% die er sich einmal gemacht hat, g"abe es auch dieses Paket nicht.
%
% Im "ubrigen danke allen, die bei der Entwanzung und Verbesserung mitgeholfen
% haben. Dank geb"uhrt auch dem \LaTeX-Team und Dante; ersteren f"ur die
% notwendige Erneuerung, letzteren f"ur den CTAN-Server, "uber den ich das Paket
% Verbreiten darf.
%
% \section{Rechtliches}
%
% Die Weitergabe und Benutzung dieses Paketes ist erlaubt, soweit diese zu den
% f"ur \LaTeX\ "ublichen Bedingungen erfolgt. Dies bedeutet insbesondere, da"s
% sich niemand an diesem Paket bereichern darf! Das Paket darf auch nur in
% \emph{vollst"andiger} Form weitergegeben werden. "Anderungen an einzelnen Dateien
% sind erlaubt, wenn diese dokumentiert und die betroffenen Dateien umbenannt
% werden. Es mu"s dennoch immer eine unver"anderte Version im Paket enthalten
% sein.
%
% Ich lehne jegliche Haftung f"ur Sch"aden, die aus der Verwendung des Paketes
% oder eines Teils daraus resultieren. Die Verwendung geschieht ausschlie"slich
% auf eigenes Gefahr des Anwenders. Zwar bem"uhe ich mich immer, m"oglichst wenig
% Fehler in meine Werke einzubauen, aber leider ist Fehlerfreiheit nahezu
% unm"oglich. So kann es immer zu unerw"unschten Effekten kommen.
%
% \section{Kompatibilit"at zu den Originalclasses}
%
% Alle Befehle, die in den zugrundeliegenden Standard-classes vorhanden sind,
% sind auch im \textsf{KOMA-Script}-Paket enthalten. Es wurden allerdings einige
% weitere Befehle hinzugef"ugt. Einige Befehle verhalten sich auch etwas anders,
% als bei den Standard-classes. Dennoch sollte es m"oglich sein, jedes Dokument,
% das f"ur die Standard-classes geschrieben wurde, auch mit den classes aus dem
% \textsf{KOMA-Script}-Paket zu bearbeiten.
%
% Gegen"uber den Document-Styles aus der \textsf{Script 2.0} Familie wurden nur
% wenige "Anderungen im Befehlsumfang vorgenommen. Einige wenige Befehle, die
% meiner Meinung nach eher Optionen sein sollten, wurden zu Optionen. Im
% Kompatibilit"atsmodus f"ur \LaTeX~2.09 sind diese Befehle aber noch vorhanden.
%
% Die Zuordnung zwischen Standard-class und \textsf{KOMA-Script}-class zeigt
% Tabelle \ref{TAB:Zuordnung}.
%
% \begin{table}
% \begin{center}
% \DeleteShortVerb{\|}
% \begin{tabular}{|c||c|c|}
% \hline
%   Standard-class  & \textsf{Script 2.0}-Style & \textsf{KOMA-Script}-class
%                                                                    \\\hline
%   article         & script\_s  & scrartcl \\
%   report          & script    & scrreprt \\
%   book            & script    & scrbook  \\
%   letter          & script\_l  & scrlettr \\\hline
% \end{tabular}
% \MakeShortVerb{\|}
% \caption{\label{TAB:Zuordnung}%
%          Zuordnung von Standard-class bzw. \textsf{Script 2.0}-Style zu
%          \textsf{KOMA-Script}-class.}
% \end{center}
% \end{table}
%
% \chapter{Das neue Layout}
% \section{Die neuen Fonts}
%
% "Uberall, wo fr"uher Extended Boldface verwendet wurde (also in allen
% "Uberschriften, im Inhaltsverzeichnis und im |description| Environment)
% wird jetzt standardm"a"sig ein neuer Font benutzt, n"amlich Sansserif
% Bold Extended (|\textsf\textbf|). Es handelt sich dabei um eine serifenlose
% Schrift in halbfetter Ausf"uhrung, die durch den Befehl\\
% \DescribeMacro
%    \sfb\\
% nach dem
% alten Auswahlverfahren selektiert wird. So wie alle anderen Befehle nach dem
% alten Auswahlverfahren (|\rm|, |\sl|, |\sf|, |\tt|, |\it|, |\bf|, |\em|)
% sollte auch |\sfb| eigentlich nicht mehr verwendet werden.
% Zu beachten ist lediglich, da"s bei den CM-Fonts als kleinste Gr"o"se ein
% 10pt-Font zur Verf"ugung steht; wird z.B. mittels |\tiny\sfb| eine kleinere
% Schrift gew"unscht, so wird automatisch die normale Extended Boldface
% eingestellt.
%
% \section{Der Satzspiegel}
%
% \subsection{Grundlegendes}
%
% Der Satzspiegel definiert die Gr"o"se des bedruckten Bereichs einer Seite%
% \footnote{Im folgenden auch "`Textbereich"' genannt; Kopfzeile, Fu"szeile
% und Randnoten z"ahlen jedoch nicht dazu.} und dessen Positionierung auf
% der Seite; seine Breite ist abh"angig von der gew"ahlten Schriftart und
% -gr"o"se (optimale Lesbarkeit ist bei ca. 60--70 Zeichen pro Zeile gegeben).
% Bei seiner Konstruktion ist besonders auf die Seitenproportionen
% (Verh"altnis von Breite zu H"ohe) sowie auf seinen Stand auf der Seite zu
% achten.
%
% Jan Tschichold hat in dem in der Einleitung angegebenen Buch eine
% Konstruktion vorgeschlagen, die einfach durchf"uhrbar ist und bei jedem
% Seitenverh"altnis des gew"ahlten Papierformats (also auch bei dem
% "`unklassischen"' ISO/DIN A4-Format mit dem Seitenverh"altnis 1:$\sqrt{2}$,
% von dem in allen \textsf{KOMA-Script}-Haupt-classes normalerweise
% ausgegangen wird) sehr ansprechende Ergebnisse liefert. Dies liegt wohl
% in der Hauptsache daran, da"s hier der Satzspiegel die gleichen
% Seitenverh"altnisse wie die zu bedruckende Seite selbst aufweist;
% auch die R"ander stehen in einer sehr einfachen Relation zueinander
% (innerer zu "au"serer bzw. oberer zu unterer Rand verhalten sich wie
% 1:2; bei einseitigem Druck, also ohne die |twoside|-Option, sind innerer
% und "au"serer Rand gleich gro"s).
%
% \subsection{Konstruktion}
%
% Die Konstruktion basiert auf einer Einteilung der Breite und H"ohe
% der Seite in $n$ gleiche Teile. Das Ergebnis ist je eine L"angenangabe f"ur
% die Horizontale --- im folgenden mit HLE (horizontale L"angeneinheit)
% abgek"urzt --- und die Vertikale (VLE).
%
% \begin{description}
% \item[Beispiel: ] F"ur eine DIN A4-Seite (210 mm $\times$ 297 mm) ergibt
%        sich bei Zehnteilung der Seite ($n=10$) f"ur die horizontale
%        L"angeneinheit HLE = 210 mm $\div$ 10 = 21 mm und f"ur die
%        vertikale L"angeneinheit VLE = 297 mm $\div$ 10 = 29.7 mm.
% \end{description}
%
% \noindent Nun wird bei doppelseitigem Druck einfach der innere
% Rand\footnote{Es ist hier der effektiv sichtbare Rand gemeint, nicht die
% odd- bzw. evensidemargin-Einstellung; diese Gr"o"sen werden intern so
% errechnet, da"s eben genau der gew"unschte Rand sichtbar ist.} auf eine
% Breite von 1 HLE und der "au"sere Rand auf 2 HLE gesetzt. Soll einseitig
% gedruckt werden, so wird sowohl der innere als auch der "au"sere Rand auf
% 1.5 HLE eingestellt. Analog dazu wird ein oberer Rand von 1 VLE und ein
% unterer Rand von 2 VLE freigelassen. F"ur den Textbereich bleibt so eine
% Fl"ache von $(n-3)$ HLE Breite mal $(n-3)$ VLE H"ohe. Randbemerkungen
% ("`marginal notes"') stehen im "au"seren Rand und sind auf eine Breite von
% 1.5 HLE (bei Verwendung der |twoside|-Option) bzw. 1 HLE (sonst)
% begrenzt.
%
% \begin{description}
% \item[Beispiel: ] Bei Sechsteilung der Seite ($n=6$) sind der linke und
%        rechte Rand zusammen 3 HLE und der Textbereich ebenfalls
%        $6-3=3$ HLE breit. Das gleiche gilt f"ur die vertikalen
%        Gr"o"sen. Damit ist bei einer Sechsteilung der Seite der
%        Textbereich genau halb so breit und hoch wie die gesamte
%        Seite.
% \end{description}
%
% \noindent Die \TeX-Forderung, da"s die Textbereichsbreite
% (|\textwidth|) ein Vielfaches der Zeichenbreite der
% \texttt{Typewriter}-Schrift sein soll, wird durch die beschriebene exakte
% Konstruktion nicht erf"ullt.
% Sie wird allerdings selbst von den Original-Styles nicht eingehalten und
% ist nur bei komplett in \texttt{Typewriter}-Schrift geschriebenen Zeilen von
% Belang. In Abschnitt~\ref{AREASET} wird eine M"oglichkeit aufgezeigt, wie
% z.B. f"ur Programmlistings der Satzspiegel doch noch der |\tt|-Schrift
% angepa"st werden kann.
%
% Die zweite Regel der Satzspiegelkonstruktion, da"s |\textheight| (die
% H"ohe des Textbereiches) gleich |\topskip| vermehrt um ein ganzzahliges
% Vielfaches des Grundlinienabstandes (|\baselineskip|) sein soll, wurde
% jedoch befolgt. Damit wird erreicht, da"s bei komplett mit Flie"stext
% gef"ullten Seiten (also Seiten ohne "Uberschriften, Tabellen, \emph{displayed
% material} o."a.) die Abs"atze nicht auseinandergezogen werden m"ussen, um
% zu gew"ahrleisten, da"s die unterste Zeile mit dem unteren Rand des
% Textbereichs zusammenf"allt. Der Satzspiegel kann dadurch maximal eine
% knappe Zeile h"oher werden als dies bei einer exakten Konstruktion der Fall
% gewesen w"are.
%
% \subsection{Auswahl des gew"unschten Satzspiegels}
%
% Man erkennt leicht, da"s f"ur kleine $n$ auch der Textbereich im Verh"altnis
% zur Seitengr"o"se klein ist, und f"ur sehr gro"se $n$ der Textbereich die
% Seite nahezu ausf"ullt (Randbemerkungen sind bei $n$ gr"o"ser als 12 mangels
% Platz kaum noch m"oglich bzw. sinnvoll umbrechbar). So l"a"st sich mit
% lediglich einer Gr"o"se der Satzspiegel in weiten Grenzen ver"andern, und
% man hat au"serdem noch die Garantie, da"s er immer optimal konstruiert ist.
%
% Optional l"a"st sich noch ein Bindungs-Korrektur-Ma"s \emph{BCOR} (f"ur
% binding-correction) angeben, so da"s bei der Satzspiegelkonstruktion
% be"-r"uck"-sich"-tigt wird, da"s ein Teil der Seite durch Heftung oder Bindung
% nicht sichtbar ist oder abgefr"ast wird. Die Seite wird dazu um \emph{BCOR}
% schm"aler betrachtet, als sie wirklich ist, der Satzspiegel auf dieser Basis
% berechnet, und anschlie"send der innere Rand um dieses St"uck vergr"o"sert.
%
% \begin{description}
% \item[Beispiel: ] Ist durch eine Klebebindung, bei der sich die Seiten nicht
%        mehr bis ganz innen aufschlagen lassen, der sichtbare
%        Bereich der Seite nicht mehr 210 mm breit (ISO/DIN A4), sondern
%        8 mm weniger, so gibt man f"ur \emph{BCOR} 8 mm an (wie und wo
%        steht weiter unten) und schon steht der Satzspiegel z.B. bei
%        einseitigem Druck wieder exakt mittig auf dem sichtbaren
%        Teil der Seite und hat auch die gleichen Proportionen wie
%        dieser (202:297 statt 210:297).
% \end{description}
%
% \noindent Der Satzspiegel wird durch Angabe des Befehls\\
% \DescribeMacro
%    \typearea\oarg{BCOR}\arg{DIV}\\
% neu konstruiert. Weil interne Gr"o"sen
% wie |\oddsidemargin| u."a. ver"andert werden, die nur in der Pr"aambel
% (dem Teil der Textquelldatei vor |\begin{document}|) modifiziert werden
% d"urfen, ist auch der |\typearea|-Befehl nur in der Pr"aambel erlaubt.
% Die Optionalangabe \oarg{BCOR} stellt die gleichnamige Gr"o"se zur
% Bindungs-Korrektur ein, w"ahrend \arg{DIV} die Rolle des oben genannten
% Divisors $n$ "ubernimmt. \oarg{BCOR} bedarf einer Ma"seinheit, wobei
% alle bei \TeX\ erlaubten Einheiten m"oglich sind (pt, mm, cm, in, \dots),
% \arg{DIV} hingegen mu"s eine ganze Zahl gr"o"ser als 3 sein.
%
% Bei Verwendung einer der class |scrartcl|, |scrreprt| oder |scrbook| wird
% \arg{DIV} nach Tabelle~\ref{DIV1} gew"ahlt (wobei keine Bindungs-Korrektur
% vorgenommen wird) und der |\typearea|-Befehl durch den
% |\documentclass|-Befehl automatisch ausgef"uhrt. Dies kommt daher, da"s
% die classes das package |typearea|, das diese Berechnungen durchf"uhrt
% automatisch einliest.
%
% \begin{table}
% \begin{center}
% \DeleteShortVerb{\|}
% \begin{tabular}{|c|c|}
% \hline
% Textfontgr"o"se & {\em DIV} \\
% \hline
% 10pt & 8 \\
% 11pt & 10 \\
% 12pt & 12 \\
% \hline
% \end{tabular}
% \MakeShortVerb{\|}
% \caption{\label{DIV1}\arg{DIV}-Voreinstellungen}
% \end{center}
% \end{table}
%
% Als Anhaltspunkt f"ur die manuelle \arg{DIV}-Einstellung kann
% Tabelle~\ref{DIV2} dienen. Dabei wurde \emph{BCOR} = 0pt und das
% Papierformat |a4paper| sowie zweiseitiger Druck zugrundegelegt; die Abstimmung
% der Textbereichsh"ohe auf den (von der gew"ahlten Schriftgr"o"se abh"angigen)
% Grundlinienabstand, die die Textbereichsh"ohe nochmals um maximal 14.5~pt
% $\simeq$ 5.1 mm vergr"o"sern kann, wurde nicht ber"ucksichtigt.
%
% \begin{table}
% \begin{center}
% \DeleteShortVerb{\|}
% \begin{tabular}{|c||c|c|c|c|}\hline
%         & \multicolumn{2}{c|}{Textbereich} & \multicolumn{2}{c|}{R"ander}\\
% \emph{DIV}& Breite [mm] & H"ohe [mm] & oben [mm] & innen [mm] \\\hline
% 6  & 105.00 & 148.50 & 49.50 & 35.00 \\
% 7  & 120.00 & 169.71 & 42.43 & 30.00 \\
% 8  & 131.25 & 185.63 & 37.13 & 26.25 \\
% 9  & 140.00 & 198.00 & 33.00 & 23.33 \\
% 10 & 147.00 & 207.90 & 29.70 & 21.00 \\
% 11 & 152.73 & 216.00 & 27.00 & 19.09 \\
% 12 & 157.50 & 222.75 & 24.75 & 17.50 \\
% 13 & 161.54 & 228.46 & 22.85 & 16.15 \\
% 14 & 165.00 & 233.36 & 21.21 & 15.00 \\
% 15 & 168.00 & 237.60 & 19.80 & 14.00 \\\hline
% \end{tabular}
% \MakeShortVerb{\|}
% \caption{\label{DIV2}Satzspiegelma"se in Abh"angigkeit von \emph{DIV}}
% \end{center}
% \end{table}
%
% \subsection{Ungew"ohnliche Satzspiegel\label{AREASET}}
%
% Wird ein Satzspiegel gew"unscht, der ungew"ohnliche Proportionen hat oder
% zwar wie oben angegeben konstruiert werden soll, jedoch \emph{exakt} die
% in der vorstehenden Tabelle aufgef"uhrten Ma"se (ohne die Korrektur auf
% Vielfache des Grundlinienabstandes) haben soll, so gibt es noch alternativ
% zu |\typearea| den Befehl\\
% \DescribeMacro
%    \areaset\oarg{BCOR}\arg{WIDTH}\arg{HEIGHT}\\
% der die Textbereichsbreite auf \arg{WIDTH} und die Textbereichsh"ohe auf
% \arg{HEIGHT} setzt (jeweils ohne jede nachtr"agliche Korrektur) und die
% Rand- und Randnoten-Einstellungen so vornimmt, da"s der Textbereich sinnvoll
% positioniert wird ("ahnlich wie beim |\typearea|-Befehl). Auch die
% Wirkung der optionalen \oarg{BCOR}-Angabe ist wie schon oben beschrieben.
%
% Damit ist es nun sehr einfach m"oglich, z.B. genau quadratische oder sehr
% schmale hohe Satzspiegel zu verwirklichen. Wenn die automatische
% Positionierung nicht gef"allt, kann diese durch die entsprechenden Befehle
% nat"urlich auch noch nachtr"aglich ver"andert werden. Weiterhin ist es
% hiermit m"oglich, die Satzspiegelbreite auf die Breite eines vorgegebenen
% Textes abzustimmen.
%
% Als Beispiel soll, wie weiter oben angek"undigt, der Textbereich der Breite
% von 30 Zeichen in \texttt{Typewriter}-Schrift angepa"st werden. Eine
% Befehlsfolge, die dieses durchf"uhrt, w"urde etwa lauten:
% \begin{quote}\begin{flushleft}
% |\newlength{\thirtytt}|\\
% |\settowidth{\thirtytt}{\texttt{123456789012345678901234567890}}|\\
% |\areaset{\thirtytt}{20cm} %| \texttt{Textbereichsh"ohe: 20cm}
% \end{flushleft}\end{quote}
% Auch dieser Befehl darf selbstverst"andlich nur in der Pr"aambel
% auftreten.
%
% \subsection{Ber"ucksichtigung von Kopf- und/oder Fu"szeile}
%
% Manchmal ist es sinnvoll, da"s bei der Konstruktion des Satzspiegels auch
% die Kopf- und/oder Fu"szeile als zum Textbereich dazugeh"orig betrachtet wird.
% Dies ist z.B. der Fall, wenn der Kolumnentitel wie in dieser Dokumentation
% durch eine horizontale Linie vom eigentlichen Text getrennt ist und dadurch
% optisch n"aher an diesen heranr"uckt.
%
% Bei Angabe der package-Option\\
% \DescribeMacro
%    {headinclude}\\
% gilt bei einer nachfolgenden
% Satzspiegelberechnung mit Hilfe des |\typearea|- oder |\areaset|-Befehls
% alles, was oben "uber den Textbereich gesagt wurde, f"ur den Textbereich
% plus Kopfzeile. Nat"urlich existiert auch eine gegenteilige Option\\
% \DescribeMacro
%    {headexclude}\\
%
% F"ur Fu"szeilen gibt es die analogen Optionen\\
% \DescribeMacro
%    {footinclude}\\
% und\\
% \DescribeMacro
%    {footexclude}\\
%
% Die Optionen k"onnen entweder direkt bei |\documentclass| angegeben werden,
% oder auch bei |\usepackage|, wenn das |typearea|-package explizit eingeladen
% wird.
%
% Dadurch, da"s bei \textsf{KOMA-Script} dieses Verhalten im Gegensatz zu
% \textsf{Script 2.0} nicht mehr mit zus"atzlichen Pr"aambel-Befehlen
% |\headincludeon|, |\headincludeoff| bzw. |\footincludeon|, |\footincludeoff|
% sondern mit Optionen geschaltet wird, wird kein expliziter |\typearea|-Befehl
% mehr ben"otigt, wenn mit dem Standard \emph{DIV}-Wert gearbeitet werden soll.
%
%
% \subsection{Andere Papierformate}
%
% F"ur die Einstellung des Papierformats werden bei \textsf{KOMA-Script} nicht
% mehr die bei \textsf{Script 2.0} "ublichen Option |DINA3|, |DINA4|, |DINA5|,
% |DINA6| und |DINA3l|, |DINA4l|, |DINA5l|, |DINA6l| sondern die bei den
% Standard-classes "ublichen Optionen |a4paper|, |a5paper|, |letterpaper|,
% |landscape|, \dots verwendet. Im Gegensatz zu den gleichnamigen Optionen
% der Standard-classes, werden allerdings keine starren Satzseitenspiegel
% daraus berechnet, sondern mit Hilfe des |typearea|-packages Satzseitenspiegel
% nach den oben genannten Regeln.
%
% Sollen nun andere, nicht in |typearea.sty| enthaltene Papierformate verwendet
% werden, so mu"s daf"ur auch kein eigenes package mehr erstellt werden. F"ur
% kleine, einmalige "Anderungen kann das Paperformat explizit "uber die
% L"angenvariablen |\paperwidth| und |\paperheight| angegeben werden. In diesem
% Fall mu"s der Satzseitenspiegel anschlie"send mit dem |\typearea|-Befehl oder
% dem |\areaset|-Befehl berechnet werden. Es ist aber auch m"oglich weitere
% Optionen in eine Datei |typearea.cfg| zu schreiben. Eine solche Option kann
% dann wie die Standardoptionen verwendet werden.
%
% Au"ser der Seitengr"o"se kann f"ur jede Option oder auch generell ein von der
% Schriftgr"o"se abh"angiger \emph{DIV}-Faktor definiert werden. Dazu definiert man
% mit dem Befehl\\
% \DescribeMacro
%    \SetDIVList\arg{list}\\
% eine entsprechende Liste. Die Liste
% besteht aus einer Reihe von Werten in geschweiften Klammern, die einfach
% aneinandergereiht wird. Der Wert ganz links ist f"ur 10pt-, der n"achste Wert
% f"ur 11pt-, der dritte f"ur 12pt-Schrift usw. Wird keine Liste mit |\SetDIVList|
% gesetzt, so entspricht die |\SetDIVList{{8}{10}{12}}|. Ist f"ur eine
% Schriftgr"o"se kein Standardwert gesetzt, so wird statt dessen 10 genommen.
%
% \begin{description}
% \item[Beispiel 1: ] Ein Gedichtb"andchen soll im ISO/DIN A5-Format gedruckt
%          werden. Dazu gen"ugt nun die Angabe von |a5paper| als
%          Styleoption, z.B.:
%          \begin{quote}
%          |\documentclass[a5paper]{scrreprt}|
%          \end{quote}
% \item[Beispiel 2: ] Der Textbereich eines Zeitplanes im ISO/DIN A4
%          \emph{Quer}format soll exakt 270~mm mal 190~mm
%          gro"s sein. Dies wird erreicht durch die Angabe von
%          \begin{quote}\begin{flushleft}
%          |\documentclass[a4paper]{scrreprt}|\\
%          |\areaset{270mm}{190mm}|
%          \end{flushleft}\end{quote}
%          und einer (systemabh"angigen) Anweisung an den Druckertreiber,
%          im Querformat zu drucken.
% \item[Beispiel 3: ] Beim Gedichtb"andchen aus Beispiel~1 soll zus"atzlich
%          eine Abfr"asung von 1,5~mm ber"ucksichtigt werden. Dazu mu"s
%          der Satzspiegel nochmal neu konstruiert werden, z.B. mit
%          \begin{quote}\begin{flushleft}
%          |\documentclass[a5paper]{scrreprt}|\\
%          |\typearea[1.5mm]{12}|
%          \end{flushleft}\end{quote}
% \item[Beispiel 4: ] Es soll auf Endlospapier mit den Ma"sen
%          $8\frac{1}{4}$~inch mal 12~inch gedruckt werden, und auch dort
%          soll der Satzspiegel ordentlich aussehen. Mit den Befehlen
%          \begin{quote}\begin{flushleft}
%          |\paperwidth 8.25in|\\
%          |\paperheight 12in|\\
%          |\typearea{10}|
%          \end{flushleft}\end{quote}
%          wird dies erreicht. Druckt man "ofters auf Endlospapier, so
%          empfiehlt es sich, diese Anweisungen in eine eigene Option
%          in |typearea.cfg| zu schreiben, die man dann einfach z.B. mit
%          \begin{quote}
%          |\documentclass[endlos]{scrreprt}|
%          \end{quote}
%          verwenden kann. Soll zus"atzlich das Argument \arg{DIV} des
%          |\typearea|-Befehls abh"angig von der gew"ahlten
%          Schriftgr"o"se sein, so f"ugt man noch einen |\SetDIVList|-Befehl
%          zu. Der Eintrag in |typearea.cfg| k"onnte dann so aussehen:
%          \begin{quote}\begin{flushleft}
%          |\DeclareOption{endlos}|\\
%          |  {\setlength\paperheight {297mm}%|\\
%          |   \setlength\paperwidth  {210mm}%|\\
%          |   \SetDIVList{{8}{10}{12}}}|
%          \end{flushleft}\end{quote}
% \end{description}
%
% \subsection{Einbindung der Befehle zur Satzspiegeleinstellung}
%
% Im Gegensatz zu den Document-Styles aus der \textsf{Script 2.0}-Famile
% ist die Satzseitenspiegelberechnung in den classes des
% \textsf{KOMA-Script}-Pakets nicht mehr direkt enthalten. Statt dessen
% wird von den classes einfach das |typearea|-package angefordert, in
% dem diese Berechnungen stattfinden. Die Schriftgr"o"se wird aus den
% entsprechenden Optionendateien der Standard-classes gelesen. Da die
% letter-class |scrlettr| einen besonderen und vor allem festen
% Satzspiegel besitzt, wurde bei ihm auf die Einbindung des
% |typearea|-packages verzichtet. Es sollte dann auch \emph{keinesfalls}
% mit |\usepackage{typearea}| nachgeladen werden.
%
% Hingegen sollte es problemlos sein, das |typearea|-package auch
% zusammen mit anderen classes, z.B. den Standard-classes, zu verwenden,
% die von keinem festen Layout ausgehen. Damit wird die
% Satzseitenspiegelberechnung auch f"ur jene classes verf"ugbar.
%
% Im Kompatibilit"atsmodus sind weiterhin die Befehle |\headincludeon| und
% |\headincludeoff| bzw. |\footincludeon|, |\footincludeoff| vorhanden.
%
% \section{Sonstige "Anderungen}
%
% \subsection{Default-Fontgr"o"se}
%
% Wird in der Definition der Document-class nichts anderes angegeben, so wird
% standardm"a"sig als Textfont der 11pt-Font verwendet (wie z.B. in dieser
% Dokumentation). Eine Ausnahme hiervon bildet wieder die |scrlettr|-class,
% bei der ohne Optionsangabe die 12pt-Schrift benutzt wird.
%
% Bei den Standard-classes werden hingegen normalerweise 10pt-Fonts verwendet.
%
% \subsection{Kapitel"uberschriften und Nummerierung}
%
% Kapitel"uberschriften in den classes |scrbook| und |scrreprt| werden ohne
% die bei |book| und |report| "ublichen eigenen Zeilen f"ur das Wort
% "`Kapitel"' und die Kapitelnummer gesetzt, sondern wie bei "Uberschriften
% niedrigerer Priorit"at mit der Kapitelnummer direkt vor der eigentlichen
% "Uberschrift. Da hierdurch ein Anhang leicht f"ur ein normales Kapitel
% gehalten werden kann (er unterscheidet sich von diesen ja nur durch die Art
% der Nummerierung), ist es empfehlenswert, ihn mit |\part*{Anhang}| deutlich
% vom Rest des Dokumentes abzusetzen.
%
% Nach einfachen Abschnittsnummern steht einheitlich ein Punkt (1. statt 1 ,
% aber nicht 1.1. sondern 1.1). Die einzige Ausnahme bildet die Nummerierung
% der Parts, da bei r"omischer Z"ahlung ein nachfolgender Punkt un"ublich ist.
% Dies gilt selbstverst"andlich auch f"ur Eintr"age in Kolumnentitel und in
% das Inhaltsverzeichnis.
%
% \subsection{Kolumnentitel und Pagina}
%
% Die |scrbook|-class benutzt als Default den Pagestyle |headings|,
% der in den Kopfteil der Seiten das aktuelle Kapitel (linke Seiten) bzw.
% den aktuellen Abschnitt (rechte Seiten) schreibt (sog. lebender
% Kolumnentitel bzw. running head). Weiterhin wird eine Seitennummer in den
% Fu"sbereich der Seite gesetzt (sog. Pagina). |scrreport| und |scrartcl| stellt
% standardm"a"sig |plain| als Pagestyle ein, jedoch sind nat"urlich
% auch hier |headings|, |myheadings| und |empty| verf"ugbar.
% Beim Brief stehen teilweise andere Seitenstile zur Auswahl, die in
% Abschnitt~\ref{PAGESTYLES} behandelt werden.
%
% Normalerweise werden Kolumnentitel und Pagina zentriert; wurde jedoch die
% |twoside| Option angegeben, so wird beides an den "au"seren Rand der
% Seite gesetzt. Bei |scrbook| ist |twoside| standardm"a"sig gesetzt.
%
% Die Definitionen der Pagestyles |headings|, |myheadings| und
% |plain|, sowie die Befehle zum automatischen Setzen der Kolumnentitel
% durch Befehle wie |\section| oder |\tableofcontents| wurden
% dahingehend ver"andert, da"s die Kolumnentitel mit normaler
% Gro"s-Klein-Schreibung (vorher alles gro"s), standardm"a"sig in
% \textit{Italics} (vorher \textsl{slanted}) und bei Kapiteln ohne das Wort
% CHAPTER bzw. KAPITEL gesetzt werden. Die Seitennummer wurde generell aus
% der Kopfzeile in die sonst leere Fu"szeile verbannt.
%
% Diese Ma"snahmen haben neben der besseren Lesbarkeit ("`Inhaltsverzeichnis"'
% liest sich viel angenehmer als "`INHALTSVERZEICHNIS"') vor allem den
% Vorteil, da"s nun auch wesentlich l"angere Abschnitts-"Uberschriften in die
% Kopfzeile passen ohne abgeschnitten zu werden.
%
% Wird unter den Kolumnentiteln eine horizontale Linie gew"unscht, so ist
% auch dies jetzt ohne Probleme m"oglich\label{HEADSEPLINE}: sie l"a"st sich
% einfach mit der class-Option\\
% \DescribeMacro
%    {headsepline}\\
% an- bzw. durch\\
% \DescribeMacro
%    {headnosepline}\\
% ausschalten. Das funktioniert nat"urlich nur bei den Pagestyles
% |headings| und |myheadings|, da ja alle anderen keinen Kolumnentitel
% generieren. Durch diese Optionen wird auch |headinclude|
% automatisch sinnvoll miteingestellt, d.h. |headinclude| bei
% |headsepline| und |headexclude| bei |headnosepline|.
% Default ist bei |scrbook|, |scrreprt| und |scrartcl| (bei |scrlettr| ist
% wieder alles anders; siehe Abschnitt~\ref{PAGESTYLES}) |headnosepline|.
%
% Analoge gibt es auch die Optionen |footinclude|, |footexclude| f"ur die
% Fu"szeilen, wenn man mit den Optionen\\
% \DescribeMacro
%    {footsepline}\\
% bzw.\\
% \DescribeMacro
%    {footnosepline}\\
% eine Trennlinie "uber der Fu"szeile ein- bzw. ausschaltet.
%
% Im Kompatibilit"atsmodus sind weiterhin die alten \textsf{Script 2.0}-Befehle
% |\headseplineon| und|\headseplineoff| bzw. |\footseplineon| und
% |\footseplineoff| verf"ugbar.
% Da auch im Seitenstil |plain| eine Seitennummer in die Fu"szeile geschrieben
% wird, erscheint die Trennlinie auch dort.
%
% \begin{description}
% \item[Beispiel: ] In der vorliegenden Dokumentation wurde
%    mit
%    \begin{quote}
%    |\documentclass[headsepline]{...}|
%    \end{quote}
%    der horizontale Strich unter den
%    Kolumnentiteln eingeschaltet (dadurch wurde auch gleichzeitig
%    |headinclude| ausgef"uhrt).
% \end{description}
%
%
% \subsection{Kleinere kosmetische Ver"anderungen}
%
% In Fu"snoten ist ein kleiner horizontaler Bereich (1\,em) nur f"ur die
% Fu"snotennummer reserviert, der eigentliche Text beginnt also immer erst
% diesen Abstand vom linken Rand entfernt. Bei mehrzeiligen Fu"snoten werden
% die Folgezeilen nochmals 0.5\,em links eingezogen. Dadurch setzen
% sich diese besser voneinander ab.
%
% Abs"atze werden ohne vertikalen Zwischenraum und mit einem Einzug von
% 1\,em (entspricht 1 |\quad|) gesetzt.
%
% Obwohl bei |german.sty| ab Version 2.4 |\frenchspacing| mit verwaltet
% wird, wird dies zus"atzlich eingeschaltet. Es ist jedoch m"oglich, da"s
% dies in einer der n"achsten Versionen entfernt wird.
%
% Bei der |enumerate|-Umgebung wurde in der zweiten Ebene eine Klammer
% entfernt, so da"s a) statt (a) geschrieben wird. Weiterhin wurde in der
% dritten Ebene des |itemize|-Environments der "`$\ast$"' durch
% ein "`$\triangleright$"' ersetzt (das sieht zumindest f"ur Franks und
% meinen Geschmack etwas gef"alliger aus).
%
% Die Autoren- und Datumsangaben in Titeln erscheinen nicht in |\large|,
% sondern in |\Large|.
%
% In mehrzeiligen Captions (Unterschriften von |table| bzw. |figure|)
% werden die zweiten und folgenden Zeilen so weit links einger"uckt, da"s
% diese nicht mehr unter "`Abbildung \dots:"', sondern unter dem eigentlichen
% Text der ersten Zeile beginnen.
%
% Es wurden noch etliche weitere Kleinigkeiten im Layout ver"andert,
% die allerdings dem unge"ubten Auge kaum auf"|fallen werden. So ist etwa der
% Spaltenabstand im zweispaltigen Satz von 10 pt auf die "ubliche 1 cc
% verg"o"sert worden (1 Cicero $\simeq$ 12 pt). Will man alles ganz genau
% wissen, so kann man ja immer noch die jeweilige class- bzw. package-Datei
% studieren (dazu sollte man allerdings auch die niedrigeren \TeX-Befehle kennen
% bzw. zuerst die |.dtx|-Versionen der Original-classes und -packages durcharbeiten).
%
% \chapter{Zus"atzliche Befehle}
%
% \section{Die Erweiterungen des Abstracts und der Titelseite}
%
% Bei Abstracts besteht nun die M"oglichkeit, die automatisch erzeugte
% "Uberschrift (z.B. "`Zusammenfassung"') mit der Option\\
% \DescribeMacro
%    {abstractoff}\\
% aus- bzw. mit\\
% \DescribeMacro
%    {abstracton}\\
% anzuschalten. Voreingestellt ist bei |scrartcl| und
% |scrreprt| |abstractoff|. Bei |scrbook| gibt es kein Abstract.
%
% Der |\maketitle|-Befehl der \textsf{Script}-Haupt-classes wurde durch die
% folgenden optionalen Angaben wesentlich erweitert:
%
% \DescribeMacro
%    \extratitle\arg{Schmutztitel}\\
%    erzeugt eine eigene
%    Seite, auf der der sog. "`Schmutztitel"'\footnote{Fr"uher war der
%    Buchblock oftmals nicht durch einen Buchdeckel vor Verschmutzung
%    gesch"utzt; diese Aufgabe "ubernahm dann die erste Seite des Buches, die
%    meist einen Kurztitel, eben jenen "`Schmutztitel"', trug. Auch heute
%    noch wird gerne eine Extraseite vor dem eigentlichen Haupttitel f"ur
%    Verlagsname, Buchreihennummer o."a. benutzt.} steht. Dieser wird wie
%    normaler Text, also ohne Zentrierung und in normaler Schriftart und
%    -gr"o"se gesetzt. Dadurch ist dessen Gestaltung v"ollig dem Anwender
%    "uberlassen. Die R"uckseite ist auch im zweiseitigen Druck leer.
%
% \DescribeMacro
%    \titlehead\arg{Text}\\
%    setzt in den Kopfteil der Haupttitelseite einen
%    zus"atzlicher Text wie z.B. eine Institutsadresse.
%
% \DescribeMacro
%    \subject\arg{Text}\\
%    setzt direkt oberhalb des eigentlichen Titels eine Zusatzangabe
%    (z.B. "`Diplomarbeit"') in etwas gr"o"serer Schrift.
%
% \DescribeMacro
%    \publishers\arg{Verlag}\\
%    plaziert den Verlagsnamen in den unteren Teil der Haupttitelseite.
%
% Im zweiseitigen Druck l"a"st sich die R"uckseite des Haupttitels f"ur
%    weitere Informationen (im Beispiel dieser Dokumentation ist dies
%    der Haftungsausschlu"s) nutzen. Dazu stetzt\\
% \DescribeMacro
%    \uppertitleback\arg{Text}\\
%    einen Text an den oberen Rand der Seite und\\
% \DescribeMacro
%    \lowertitleback\arg{Text}\\
%    einen Text an den unteren Rand.
%
% \DescribeMacro
%    \dedication\arg{Widmung}\\
%    erzeugt eine seperate
%    Widmungsseite, wobei \emph{Widmung} zentriert und in etwas gr"o"serer
%    Schrift gesetzt wird. Wie bei |\extratitle| ist die R"uckseite
%    grunds"atzlich leer.
%
% \begin{description}
% \item[Beispiel: ] \
% \begin{verbatim}
% \titlehead{Institut f"ur Nachrichtentechnik \hfill SS1993
%          \\Hochschulstr.12
%          \\3456 Unistadt}
% \subject{Diplomarbeit}
% \title{Digitale Raumsimulation mit dem DSP56004}
% \author{Ulrich Ungenannt}
% \lowertitleback{Diese Diplomarbeit wurde mit dem Textsatzsystem
%         \TeX\ erstellt.}
% \maketitle
% \end{verbatim}
% \end{description}
%
% \noindent Der Titel (Kurz- oder Haupttitel) beginnt normalerweise auf Seite
% 1. Durch Angabe einer Zusatzoption (z.B. |\maketitle[-1]|) l"a"st
% sich die Startseite jetzt beliebig festlegen.
%
% Da es seit \LaTeXe\ f"ur |article.cls| eine Optione |titlepage| gibt, die auch
% in |scrartcl.cls| implementiert ist, entf"allt ein |sctitle.sty|.
%
% \section{Die "`xxxxfont"'-Variablen\label{SECTFONT}}
%
% Seit der Version~2.0 des \textsf{Script}-Paketes sind mehrere Variablen\\
% \DescribeMacro
%    \capfont\\
% \DescribeMacro
%    \caplabelfont\\
% \DescribeMacro
%    \descfont\\
% \DescribeMacro
%    \headfont\\
% \DescribeMacro
%    \pnumfont\\
% \DescribeMacro
%    \sectfont\\
% zur globalen Schrift\-"an\-de\-rung in Kolumnentiteln, Paginierung, Captions,
% "Uberschriften und dem |description|-Environment bereitgestellt.
% Dadurch lassen sich mit einem einzigen Befehl z.B. s"amtliche "Uberschriften
% statt in |\sffamily\bfseries| in \verb|\rmfamily| ausgegeben. Dazu mu"s nur
% (am besten in der Pr"aambel) die Anweisung
% |\renewcommand{\sectfont}{\rmfamily}|
% stehen. Auf die gleiche Art und Weise k"onnen auch die anderen
% Fonteinstellungen aus Tabelle \ref{TAB::Fonts} ge"andert werden.
%
% \begin{table}
% \begin{center}
% \begin{tabular}{lll}
% Variable          & Wirkung auf:      & Default       \\\hline
% |\captfont|       & Caption-Texte     & |\normalfont| \\
% |\caplabelfont|   & Caption-Label     & |\normalfont| \\
% |\descfont|       & Item-Texte des {\tt description}-Environments
%                                       & |\sffamily\bfseries| \\
% |\headfont|       & Kolumnentitel     & |\slshape|    \\
% |\pnumfont|       & Paginierung       & |\normalfont| \\
% |\sectfont|       & S"amtliche "Uberschriften und Titel
%                                       & |\sffamily\bfseries|   \\
% \end{tabular}
% \caption{\label{TAB::Fonts}%
%          Die Befehle zur Fonteinstellung, ihre Bedeutung und
%          Standardeinstellungen}
% \end{center}
% \end{table}
%
% \noindent Selbstverst"andlich sind nicht nur Fonteinstellungs-, sondern
% auch Gr"o"sen"anderungsbefehle m"oglich.
%
% \section{Die "`marginline"'}
%
% Analog zum |\marginpar| wurde die |\marginline| eingef"uhrt, die
% f"ur einzeilige Randnotizen gedacht ist. Bei diesen tritt n"amlich im
% |twoside|-Modus auf linken Seiten das Problem auf, da"s sie mit
% |\marginpar| nicht rechtsb"undig gesetzt werden (was sinnvoll w"are),
% sondern durch den Blocksatz einer nicht vollen Zeile linksb"undig
% erscheinen. Bei Verwendung von\\
% \DescribeMacro
%    \marginline\arg{Randnotiz}\\
% werden einzeilige Texte sinnvoll in den "au"seren Rand gesetzt, was zum
% Beispiel zum Hervorheben von Querverweisen n"utzlich ist.
%
% \section{Der "`addchap"'- bzw. "`addsec"'-Befehl}
%
% F"ur unnummerierte Abschnitte wie z.B. ein Vorwort oder Danksagungen
% stand bisher nur der |\chapter*|- bzw. |\section*|-Befehl zur
% Verf"ugung, die allerdings den Nachteil haben, da"s sie zwar das bis auf die
% Nummerierung komplette "Uberschrifts-Layout erzeugen, jedoch weder einen
% Eintrag ins Inhaltsverzeichnis noch einen Kolumnentitel generieren. Dies
% mu"ste, falls dies erw"unscht war, nachtr"aglich von Hand durchgef"uhrt
% werden, was wohl nicht ganz der \LaTeX-Philosophie entspricht.
%
% Gerade f"ur die oben genannten Anwendungen wurden daher die neuen Befehle\\
% \DescribeMacro
%    \addchap\oarg{Inhaltsverzeichniseintrag}\arg{"Uberschrift}\\
% \DescribeMacro
%    \addchap\star\arg{"Uberschrift}\\
% ("`additional chapter"', bei |scrbook.cls| und |scrreprt.cls|) und\\
% \DescribeMacro
%    \addsec\oarg{Inhaltsverzeichniseintrag}\arg{"Uberschrift}\\
% \DescribeMacro
%    \addsec\star\arg{"Uberschrift}\\
% ("`additional section"', bei |scrartcl.cls|)
% implementiert, die bis auf die fehlende Nummerierung genauso wie der
% |\chapter|- bzw. |\section|-Befehl (ohne Stern!) arbeiten, also
% alle Eintr"age an den entsprechenden Stellen erzeugen.
% Stern-Verseionen |\addchap*| bzw. |\addsec*| sind den
% Stern-Versionen der "ublichen Befehle sehr "ahnlich,
% nur da"s zus"atzlich die Kolumnentitel gel"oscht werden (geht z.B. der zu
% einem |\chapter*| geh"orende Text "uber mehrere Seiten, so tauchen
% die -- veralteten! -- Kolumnentitel pl"otzlich wieder auf). Zus"atzlich ist
% als Optionalargument wie bei den Originalen ein anderer Eintrag ins
% Inhaltsverzeichnis als die Abschnitts"uberschrift angebbar.
%
% \section{Der "`minisec"'-Befehl}
%
% Manchmal ist eine Art "Uberschrift w"unschenswert, die zwar etwas
% hervortritt (etwa durch die Wahl einer anderen Schrift), ansonsten aber eng
% mit dem nachfolgenden Text zusammenh"angt, also nicht wie bei den "ublichen
% Sektionierungsbefehlen relativ viel vertikalen Freiraum vor und nach der
% "Uberschrift l"a"st.
%
% \minisec{Wirkung des neuen "`minisec"'-Befehls:}
% Der Befehl\\
% \DescribeMacro
%    \minisec\arg{"Uberschrift}\\
% ("`minisec"' steht f"ur "`mini-section"')
% bewirkt nun genau das oben genannte, indem er das Argument in
% |\sffamily\bfseries| mit einem vertikalen Freiraum von 1.5\,ex vorher und keinem
% danach setzt. Die obige Zwischen"uberschrift  wurde als Beispiel mit
% |\minisec{Wirkung des ...}| gesetzt. Mini-Sections werden nicht mit
% ins Inhaltsverzeichnis aufgenommen. Da von vorneherein keine Nummerierung
% vorgesehen ist, existiert auch keine Version mit Stern von diesem Befehl.
% Genauso wie |\marginline|, |\addchap|, |\addsec| und die
% Titelseitenerweiterungen existiert |\minisec| nicht in der
% |scrlettr|-class.
%
% \section{Das "`labeling"'-Environment}
%
% \begin{labeling}{Wirkung:}
% \item[Wirkung:] Wie in dieser tabellarischen Aufstellung, die auch
%        gleichzeitig wieder ein Beispiel f"ur die Wirkung des
%        Environments ist, setzt |labeling| Text
%        wie in einem normalen Absatz, nur da"s zus"atzlich ein Titel
%        vorangestellt werden kann (in diesem Fall "`Wirkung"').
%
%        Pro Titel sind, wie hier vorgef"uhrt, mehrere Abs"atze m"oglich, um
%        auch umfangreichere Texte "ubersichtlich gliedern zu k"onnen.
% \item[Syntax:] |labeling| ist ein gew"ohnliches Environment mit einer
%        Zusatzangabe plus einem Optionalargument:
%        \begin{quote}\begin{flushleft}
% \DescribeMacro
%        \begin|{labeling}|\oarg{Trennzeichen}\arg{l"angster Titel}\\
%        |\item|\oarg{Titel} {\tt ...}\\
%        \hspace*{1em}{\tt ...}\\
%        |\end{labeling}|
%        \end{flushleft}\end{quote}
%        Dabei ist \arg{l"angster Titel} das l"angste |\item|-Argument
%        inklusive allen eventuellen Schrift"anderungsbefehlen. Wird kein
%        Trennzeichen ben"otigt, so kann das optionale Argument
%        \oarg{Trennzeichen} weggelassen werden.
% \item[Beispiel:] Die Standardform eines mathematischen Beweises wird
%        folgenderma"sen erzeugt:
%        \begin{quote}
%        \begin{verbatim}
% \begin{labeling}[:]{\sfb Auss.}
% \item[\sfb Vor.] $x$ sei ...
% \item[\sfb Auss.] Es gilt ...
% \item[\sfb Bew.] Nach Satz ...
% \end{labeling}
%        \end{verbatim}
%        \end{quote}
%        Dies bewirkt die Ausgabe:
%        \begin{labeling}[:]{\sfb Auss.}
%        \item[\sfb Vor.] $x$ sei \dots
%        \item[\sfb Auss.] Es gilt \dots
%        \item[\sfb Bew.] Nach Satz \dots
%        \end{labeling}
% \end{labeling}
%
% \chapter{Die scrlettr-class}
%
% \section{Das Original}
%
% Immer mehr \LaTeX-Anwender schreiben ihre Briefe ebenfalls mit \TeX\.
% Da jedoch die originale |letter|-class sehr auf das amerikanische
% Brief"|format zugeschnitten ist, wird dieser kaum verwendet. Damit nicht
% erst lange nach einer brauchbaren letter-class gesucht werden mu"s, ist
% eine solche ebenfalls im \textsf{KOMA-Script}-Paket enthalten.
%
% Axel Kielhorn hat |scrlettr.cls| nach dem Vorbild von |script_l.sty| und
% den Gegebenheiten von \LaTeXe\ erstellt. Ich selbst habe nur wenige,
% kleinere "Anderungen vorgenommen, die mehr dazu dienten, die class meinen
% W"unschen anzupassen.
%
% |scrlettr| ist nicht unbedingt die beste m"ogliche Wahl, gen"ugt aber den
% meisten Anspr"uchen und kann zumindest erheblich mehr als |letter.cls|.
%
% Eine typische Briefeingabedatei hat folgende Form:
% \begin{quote}
% \begin{verbatim}
% \documentclass{letter}
% \usepackage{german}
% \name{Name des Absenders}
% \address{Adresse des Absenders}
% \signature{Unterschrift}
% \begin{document}
%
% \begin{letter}{Name und Adresse des Empf"angers
%                des ersten Briefes}
% \opening{Anrede (z.B. Sehr geehrte Damen und Herren,)}
% Brieftext...Brieftext...Brieftext
% \closing{Gru"sformel (z.B. Mit freundlichen Gr"u"sen)}
% \ps{Postskriptum}
% \cc{Verteiler (z.B. Direktion\\Personalb"uro)}
% \encl{Anlagen (z.B. Lebenslauf\\Lichtbild)}
% \end{letter}
%
% \begin{letter}{Name und Adresse des Empf"angers
%                des zweiten Briefes}
%    ...
% \end{letter}
%
%    ...
% \end{document}
% \end{verbatim}
% \end{quote}
% Die Befehle |\signature|, |\closing|, |\ps|, |\cc|
% und |\encl| sind optional. Bei fehlender |\signature|-Angabe wird
% das |\name|-Argument als Unterschrift gesetzt. Ist eine gedruckte
% Unterschrift v"ollig unerw"unscht, so kann diese durch |\signature{\ }|
% unterdr"uckt werden.
%
% Zu beachten ist weiterhin, da"s Adre"sfeld, Datum usw.
% erst durch den |\opening|-Befehl erzeugt werden (wichtig z.B. bei
% Rechnungen ohne Anrede; dort mu"s dann trotzdem ein leerer
% |\opening{}|-Befehl stehen). Dies hat weiterhin zur Folge, da"s
% z.B. bei einer zu langen \texttt{backaddress} (s.u.) eine "`Overfull
% hbox"' in der Zeile gemeldet wird, in der der |\opening|-Befehl
% steht, obwohl dieser gar nicht die eigentliche Ursache ist. Bei einer
% solchen Warnung sind also auch alle vorherigen Befehle zu pr"ufen!
%
% Um sich bei jedem Brief die wiederholte Eingabe der eigenen Adresse und
% sonstiger Voreinstellungen zu ersparen, ist es empfehlenswert, diese in eine
% eigene Datei (z.B. |privat.sty|) zu schreiben, die dann einfach als
% package mit |\usepackage{private}| angegeben wird.
% Ein Beispiel f"ur eine solche Datei findet sich auf Seite~\pageref{PRIVAT}.
%
% \section{Zus"atzliche Eigenschaften der scrlettr-class}
%
% Die neue |scrlettr|-class ist gegen"uber dem Original wesentlich
% erweitert und flexibler gestaltet worden. Ihn zeichnet vor allem die
% M"oglichkeit der Benutzung eigener Adre"sdateien und nahezu
% uneingeschr"ankte Serienbrief"|f"ahigkeit aus.
%
% \subsection{Mehrsprachigkeit}
%
% Die |scrlettr|-class wurde von vorneherein mehrsprachig ausgelegt
% (englisch, amerikanisches englisch, deutsch, "osterreichisch und franz"osisch;
% voreingestellt ist amerikanisches englisch).
%
% Zur Einstellung der Sprache der automatisch gesetzten ("`Caption"'-) Texte
% wie "`Betreff"', "`Seite"', "`Anlagen"' usw. steht eine Reihe von Befehlen\\
% \DescribeMacro
%    \captionsenglish\\
% \DescribeMacro
%    \captionsUSenglish\\
% \DescribeMacro
%    \captionsgerman\\
% \DescribeMacro
%    \captionsaustrian\\
% \DescribeMacro
%    \captionsfrench\\
% zur Verf"ugung:
%
% Die Schreibweise des Datums wird wird durch die
% Befehle\\
% \DescribeMacro
%    \dateenglish
%    1/12/1993\\
% \DescribeMacro
%    \dateUSenglish
%    12/1/1993\\
% \DescribeMacro
%    \dategerman
%    1.\,12.\,1993\\
% \DescribeMacro
%    \dateaustrian
%    1.\,12.\,1993\\
% \DescribeMacro
%    \datefrench
%    1.\,12.\,1993\\
% in der angegebenen Form festgelegt.
%
% Es ist generell empfehlenswert (aber nicht zwingend notwendig),
% grunds"atzlich |german| oder |german3| als zus"atzliches package mit dem
% |\usepackage|-Befehl anzugeben, da diese packages den sehr
% komfortablen |\selectlanguage|-Befehl zur Verf"ugung stellen, der
% gleichzeitig Captiontexte, die Schreibweise des Datums, einige
% sprachspezifische Extras und Trennregeln der verwendeten Sprache anpa"st.
% Im Zusammenhang mit |scrlettr| ist jedoch zu beachten, da"s
% |\selectlanguage| erst \emph{nach} |\begin{document}| verwendet
% werden sollte\footnote{Die briefspezifischen Caption-Texte und Datumsformate
% werden nach einem Vorschlag von Sven Gohlke erst durch dem
% |begin\{document\}|-Befehl definiert. Daher werden diese erst nach
% diesem Befehl aktiv.}.
%
% \begin{description}
% \item[Beispiel 1: ] F"ur eine Datei mit rein englischsprachigen Briefen
% (amerikanisches Englisch) gen"ugt:
% \begin{quote}
% \begin{verbatim}
% \documentclass{scrlettr}
% \begin{document}
% \begin{letter}{...}
% (...)
% \end{verbatim}
% \end{quote}
% \item[Beispiel 2: ] F"ur eine Datei mit rein deutschsprachigen Briefen
% gen"ugt:
% \begin{quote}
% \begin{verbatim}
% \documentclass{scrlettr}
% \usepackage{german}
% \begin{document}
% \begin{letter}{...}
% (...)
% \end{verbatim}
% \end{quote}
% \item[Beispiel 3: ] Bei gemischtsprachigen Briefen empfiehlt sich:
% \begin{quote}
% \begin{verbatim}
% \documentclass{scrlettr}
% \usepackage{german}
% \begin{document}
%
% \selectlanguage{USenglish}
% \begin{letter}{...}
% (...)
% \end{letter}
%
% \selectlanguage{german}
% \begin{letter}{...}
% (...)
% \end{letter}
%
% (...)
% \end{verbatim}
% \end{quote}
% \end{description}
%
% \subsection{Zweiseitiger Druck}
%
% Zweiseitig gedruckte Briefe werden durch Angabe der Option\\
% \DescribeMacro
%    {twoside}\\
% unterst"utzt; jedoch "andert sich hier im Gegensatz zu den "ubrigen
% \textsf{KOMA-Script}-classes der Satzspiegel nicht, sondern es wird lediglich
% sichergestellt, da"s ein neuer Brief immer auf einer ungeraden
% \emph{Druck}seite beginnt. Die \emph{interne} \TeX-Seitenz"ahlung startet
% bei jedem |\begin{letter}|-Befehl wieder bei 1.
%
% Dar"uber hinaus wird eine Warnung ausgegeben, um darauf hinzuweisen, da"s es
% sich nicht wirklich um ein zweiseitiges Layout handelt.
%
% \subsection{Layout}
%
% Die |scrletter|-class verwendet einen festen Satzspiegel, an dem
% nichts mehr ver"andert werden sollte. Er ist recht anspruchsvoll, was
% Ma"shaltigkeit und bedruckbaren Bereich des verwendeten Druckers angeht, da
% Falzmarken so weit links wie m"oglich und die Adresse wirklich im
% Adre"sfenster eines Fensterbriefumschlages stehen sollen. Aus diesem Grund
% sollte die Einstellung des Druckertreibers mit der \LaTeXe-Testseite
% "uberpr"uft werden.
%
%
% Die H"ohe des Kopfbereichs der Seite ist in der Version~2.0
% von 20\,mm auf 22\,mm vergr"o"sert worden\footnote{Dadurch ist der Abstand
% des oberen Papierrandes vom Briefkopf von 10~mm auf 9~mm geschrumpft;
% da einige Drucker damit bereits Probleme hatten, habe ich den oberen Rand
% von 15.5\,mm auf 19\,mm vergr"o"sert. Daf"ur wurde wiederum der Abstand
% zwischen Kopfzeile und Text von 9\,mm auf 8\,mm verringert.
% Die entsprechende Zeile ist dokumentiert.}; damit gibt es hoffentlich keine
% Probleme mehr bei Verwendung des voreingestellten
% Briefkopf-Formates\footnote{Diese Probleme traten auf bei Verwendung der
% 12pt-Schrift und wenn beide Zeilen der Adresse Unterl"angen besa"sen.
% Dreizeilige Adressangaben sind jedoch nach wie vor mangels Platz problematisch
% aber m"oglich. Falls mehr Information im Briefkopf untergebracht werden soll,
% so mu"s ein eigener entwickelt werden.}. Der Fu"sbereich der Seite ist 25\,mm
% hoch, linker und rechter Rand sind beide 25.4 mm breit.
%
% Abs"atze werden ohne Einzug und mit einem vertikalen Abstand von einem
% halben |\baselineskip| gesetzt. Ein unterer Randausgleich wird auch im
% zweiseitigen Druck nicht durchgef"uhrt (|\raggedbottom|).
%
% Gegen"uber der Version~1.0 von |script_l.sty| wurde die Brieftext-Zentrierung
% leicht verbessert, was die Probleme bei umfangreicheren Briefen mit sehr langen
% Abs"atzen hoffentlich beseitigt hat.
%
% \subsection{Adre"sfeld und Zusatz-"`location"'-Feld}
%
% Zur Beschriftung des Briefumschlages gab es im Original den
% |\makelabels|-Befehl, der dazu gedacht war, Adre"setiketten zu
% bedrucken. Da mir keine Konfiguration bekannt ist, in der dieser Befehl
% mit all seinen Anforderungen bez"uglich Papierwechsel etc. wirklich Sinn
% macht, habe ich ihn erst gar nicht in die neue Brief-class
% miteinbezogen (mal ehrlich: haben Sie |\makelabels| benutzt?)
% Hier sehe ich auch die --- hoffentlich --- einzige M"oglichkeit, wo eine
% Inkompatibilit"at zu den Original-classes auftreten kann.
%
% Als Entsch"adigung erm"oglicht |scrlettr| die Verwendung von
% Fensterbriefumschl"agen, die Adre"setiketten "uberfl"ussig machen. In einem
% Feld der H"ohe |\addrheight| und Breite |\addrwidth|, das
% |\addrvskip| von der Textbereichsoberkante und (|\addrindent|
% plus 25.4 mm) vom linken Rand des Papiers entfernt ist, wird dazu die bei
% |\begin{letter}| angegebene Adresse vertikal zentriert. Optional kann
% noch mit\\
% \DescribeMacro
%    \backaddress\arg{R"ucksende-Adresse}\\
% eine kleingeschriebene R"ucksende-Adresse und mit\\
% \DescribeMacro
%    \specialmail\arg{Versandart}\\
% eine spezielle Versandart (z.B. Einschreiben) in dieses Feld eingeblendet
% werden.
%
% Im freien Raum rechts neben dem Adre"sfeld l"a"st sich noch zus"atzlicher
% Text (z.B. Zweigstellen einer Firma) unterbringen. Dieser wird durch\\
% \DescribeMacro
%    \location\arg{Zusatz-Information}\\
% in ein |\locwidth| breites Feld geschrieben, dessen rechter Rand mit
% der rechten Begrenzung des Textbereiches "ubereinstimmt.
%
% Beide Felder zusammen sind durch\\
% \DescribeMacro
%    \addrfieldoff\\
% ab- bzw. mit\\
% \DescribeMacro
%    \addrfieldon\\
% wieder anschaltbar (Default: |\addrfieldon|).
% Dies kann z.B. f"ur pers"onliche Schreiben ohne Gesch"aftsbriefcharakter von
% Nutzen sein (wenngleich ich in diesem Falle eher zum F"uller greifen
% w"urde). Hier wurden Befehle an Stelle von Optionen verwendet, da es somit
% m"oglich ist in einem Dokument mehrere Briefe mit unterschiedlichen
% Einstellungen unterzubringen.
%
% Noch eine kleine Anmerkung zur Schreibweise des Wortes "`Adresse"':
% deutsch schreibt es sich mit \emph{einem} "`d"', w"ahrend es im Englischen
% "`a\emph{dd}ress"' hei"st. Daher ist bei allen Befehlen, die "`address"'
% enthalten, auf das doppelte "`d"' zu achten. Anweisungen, die etwas mit
% dem unten beschriebenen |.adr|-File zu tun haben, werden allerdings mit
% \emph{einem} "`d"' geschrieben (|\adrentry| und |\adrchar|).
%
% Die Breite des Adre"s-Feldes ist normalerweise auf 70\,mm beschr"ankt. F"ur
% das Zusatzfelde daneben (|\location|) steht in der Grundeinstellung die
% H"alfte der restlichen Textbreite zur Verf"ugung. Da mir selbst dies etwas zu
% wenig war, existiert eine Option\\
% \DescribeMacro
%    {wlocfield}\\
% ("`wide location field"'), mit
% der $2/3$ der restlichen Textbreite verwendet werden. Dies sollte bei der
% Mehrzahl der Fensterumschl"age problemlos sein. Nat"urlich existiert auch
% eine gegenteilige Option\\
% \DescribeMacro
%    {slocfield}\\
% ("`small location field"'), mit der
% die Standardeinstellung $1/2$ verlangt wird.
%
% \subsection{Referenzfeld}
%
% Unterhalb des Adre"sfeldes steht normalerweise das Datum bzw. bei
% Gesch"aftsbriefen ein Referenzfeld mit vorgedruckten Unterfeldern f"ur
% Kundennummer, Durchwahl, Sachbearbeiter und "ahnliches. Dies ist jetzt
% auch m"oglich: ohne weitere Angabe erscheint rechtsb"undig Ort (definiert
% durch |\place|\arg{Ort} und Datum, w"ahrend bei Benutzung
% mindestens eines der folgenden Befehle das Datum in Vordruckform und die
% gew"unschten Unterfelder horizontal gegeneinander zentriert gesetzt werden:
%
% \DescribeMacro
%    \yourref\arg{Ihr Zeichen}\\
% \DescribeMacro
%    \yourmail\arg{Ihr Schreiben vom}\\
% \DescribeMacro
%    \myref\arg{Unser Zeichen}\\
% \DescribeMacro
%    \customer\arg{Kundennummer}\\
% \DescribeMacro
%    \invoice\arg{Rechnungsnummer}\\
% \DescribeMacro
%    \refitemi\arg{Eigenes Feld 1}\\
% \DescribeMacro
%    \refitemii\arg{Eigenes Feld 2}\\
% \DescribeMacro
%    \refitemiii\arg{Eigenes Feld 3}\\
% Die "`Vordrucke"' der selbstdefinierten Unterfelder lassen sich mit\\
% \DescribeMacro
%    \refitemnamei\arg{Vordruck}\\
% \DescribeMacro
%    \refitemnameii\arg{Vordruck}\\
% \DescribeMacro
%    \refitemnameiii\arg{Vordruck}\\
% bestimmen.
%
% \subsection{Titel und Betreff}
%
% Keine eigene Titelseite, sondern eine fettgedruckte "Uberschrift (z.B.
% "`Rechnung"', "`1. Mahnung"') wird durch\\
% \DescribeMacro
%    \title\arg{"Uberschrift}\\
% unterhalb des Referenzfeldes erzeugt.
%
% \noindent Ein "`Betreff"' l"a"st sich mit\\
% \DescribeMacro
%    \subject\arg{Kurzinhalt des Briefes}\\
% angeben, wobei mit\\
% \DescribeMacro
%    \subjecton\\
%  bzw.\\
% \DescribeMacro
%    \subjectoff\\ das Wort
% "`Betr."' selbst an- und ausgeschaltet werden kann (voreingestellt ist
% |\subjectoff|).
%
% \subsection{Seitenstile\label{PAGESTYLES}}
%
% In der |scrlettr|-class stehen nach wie vor die Seitenstile |empty|,
% |plain| und |headings| zur Verf"ugung (Default ist |plain|).
% Zus"atzlich gibt es noch speziell f"ur die erste Seite eines Briefes
% den Pagestyle |firstpage|. Der eigentliche Clou an der Sache ist nun,
% da"s die Eintr"age in den Kopf- und Fu"sbereich der Seiten bei
% |firstpage| und |headings| frei gestaltbar sind. Dies geschieht
% durch die Befehle\\
% \DescribeMacro
%    \firsthead{Kopf}\\
% \DescribeMacro
%    \firstfoot{Fu"s}\\
% \DescribeMacro
%    \nexthead{Kopf}\\
% \DescribeMacro
%    \nextfoot{Fu"s}\\
% die bei einer "Anderung auf jeden Fall \emph{vor} dem
% Aufruf des zugeh"origen |\pagestyle{...}|- bzw.
% |\begin{letter}|-Befehls ausgef"uhrt werden m"ussen. Als Beispiel
% sollen die Vorbelegungen der class-Datei dienen\footnote{Das Verst"andnis
% der Definitionen ist zugegebenerma"sen nicht ganz einfach. Die Bedeutung der
% verwendeten Variablen schlagen Sie bitte in der Variablen"ubersicht in
% Abschnitt~\ref{VARIABLEN} nach.}:
% \begin{quote}
% \begin{verbatim}
% \firsthead{\parbox[b]{\textwidth}{\begin{center}
%            {\sc \ignorespaces \fromname}\\[-8pt]
%            \rule{\textwidth}{.4pt}\\
%            \ignorespaces \fromaddress \end{center}}}
% \firstfoot{}
% \nexthead{\parbox[b]{\textwidth}{{%
%           \sc \ignorespaces \fromname}\\[8pt] \headtoname\
%           \ignorespaces \toname \hfill \datename:\ \today
%           \hfill \pagename\ \thepage\\[-8pt]
%           \rule{\textwidth}{.4pt}}}
% \nextfoot{}
% \end{verbatim}
% \end{quote}
% Dadurch ist es nun m"oglich, eigene Briefk"opfe und Fu"sleisten (z.B. f"ur
% Bankverbindungen, Gerichtsstand etc.) zu entwerfen. Der Phantasie sind
% eigentlich nur durch die zur Verf"ugung stehenden Zeichens"atze Grenzen
% gesetzt; Ausgefallenes l"a"st sich durch das |picture|-Environment
% oder "`Metafont"'\footnote{Das ist keineswegs so schwer, wie es zun"achst
% erscheint, da es bereits Vektor-Graphikprogramme gibt, die auch
% Metafont-Ausgaben beherrschen. Aber Vorsicht! Metafont mach s"uchtig!}
% realisieren.
%
% \subsection{Adre"sdateien}
%
% Um nicht in jedem Brief die komplette Anschrift des Adressaten nachschlagen
% und vor allem eingeben zu m"ussen, wurden Adre"sdateien (|.adr|-Files)
% \label{ADR} eingef"uhrt. Sie enthalten f"ur jeden Adressaten einen Eintrag
% in Form eines Befehls\\
% \DescribeMacro
%    \adrentry\arg{Name}\arg{Vorname}\arg{Adresse}\arg{Telefonnummer}
%    \arg{}\arg{}\arg{Kommentar}\arg{K"urzel}\\
% der acht Argumente mit folgender
% Bedeutung hat:
% \begin{labeling}[. Argument:]{8}
% \item[1] Name
% \item[2] Vorname
% \item[3] Adresse
% \item[4] Telefonnummer
% \item[5] zur freien Verf"ugung
% \item[6] zur freien Verf"ugung
% \item[7] Kommentar
% \item[8] K"urzel
% \end{labeling}
% Eine solche Adre"sdatei bindet man mit |\input| entweder direkt in
% den Quelltext des Briefes (am besten noch in der Pr"aambel) oder in das
% oben vorgeschlagene Optionsfile, das die Voreinstellungen enth"alt, ein.
% Im letzteren Fall kann man statt |\input| nat"urlich auch den Befehl
% |InputIfFileExists| verwenden, der eine Fehlerbehandlung f"ur den Fall
% erlaubt, da"s die Datei nicht existiert.
%
% \begin{description}
% \item[Beispiel 1: ] Fank Neukams pers"onliches Optionsfile\label{PRIVAT}
%                     sieht folgenderma"sen aus:
% \begin{verbatim}
% % privat.sty
% \name{Frank Neukam}
% \address{Franz-Stadelmayer-Str. 30\\97074 W"urzburg}
% \backaddress{F. Neukam, F.-Stadelmayer-Str. 30, 97074 W"urzburg}
% \place{W"urzburg, }
% \input{privat.adr}
% \end{verbatim}
%
% \item[Beispiel 2: ] Markus Kohms pers"onliches Optionsfile ist "`etwas"'
%                     aufwendiger, demonstriert aber gut, die tats"achlichen
%                     M"oglichkeiten:
% \begin{small}
% \begin{verbatim}
% % mjk.sty, private Einstellungen f"ur scrlettr
% % Markus Kohm
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \ProvidesFile{mjk}
% \typeout{Absender ist: Markus Kohm}
% \font\mklogo  =mklogo scaled \magstep0 % Beinhaltet mein Logo
%
% \newcommand\mk{\mklogo\symbol{0}}
% \name{Markus Kohm}
% \signature{\qquad Markus Kohm}
% \address{Augartenstra"se 29\\76137 Karlsruhe}
% \backaddress{Markus Kohm $\cdot$\ Augartenstra"se 29 $\cdot$\ 76137 Karlsruhe}
% \place{Karlsruhe, }
% \telephone{(07\,21)~} % Geheimnummer entfernt
% \location{\begin{flushleft}\small\sf%
%           {\sfb email:}\\Mausnet:\\\hspace{1em}Markus Kohm @ KA\\[.8ex]
%           Internet:\\\hspace{1em} Markus\_Kohm@ka.maus.de\\[1.5ex]
%           {\sfb Telefon:}~~\telephonnum\\
%           \end{flushleft}}
% \firsthead{\parbox{\textwidth}{%\vspace*{1ex}
%            \parbox{2cm}{\mk}\hfill\parbox{\locwidth}{\begin{center}
%            \fontsize{12}{14.5}\selectfont
%            {\sfb\ignorespaces\fromname}\\
%            {\sf\ignorespaces\fromaddress}\\
%            \end{center}}\par\vspace{1ex}\rule{\textwidth}{0.8pt}}}
% \firstfoot{\parbox[t]{\textwidth}{\begin{center}
%            \sffamily\slshape\fontsize{8}{9}\selectfont
%            \rule{\textwidth}{.4pt}\\
%            Bankverbindung: Sparda--Bank Karlsruhe (BLZ~660\,905\,00)
%            Konto--Nr.~995\,894\end{center}}}
% \nexthead{\parbox[b]{\textwidth}{{%
%           \sfb\ignorespaces\fromname}\hfill \sf\headtoname\ \ignorespaces\toname
%           \hfill\datename:\ \@date\hfill\pagename\
%           \thepage\\[-8pt]\rule{\textwidth}{.4pt}}}
% \nextfoot{\parbox[t]{\textwidth}{\begin{center}
%           \sffamily\slshape\fontsize{8}{9}\selectfont
%           \rule{\textwidth}{.4pt}\\
%           Bankverbindung: Sparda--Bank Karlsruhe (BLZ~660\,905\,00)
%           Konto--Nr.~995\,894\end{center}}}
% \pagestyle{headings}
% \InputIfFileExists{privat.adr}{\typeout{Private Adressen geladen}}
%                               {\typeout{Keine privaten Adressen!}}
% \endinput
% \end{verbatim}
% \end{small}
% \end{description}
%
% \noindent F"ur jeden |.adr|-Eintrag wird dann die komplette Anschrift
% unter dem jeweiligen K"urzel als \TeX-Makro abgelegt. Um das "Uberschreiben
% von \TeX- oder \LaTeX-Befehlen zu vermeiden, ist es empfehlenswert, f"ur
% K"urzel nur Gro"sbuchstaben zu verwenden. Lautet also z.B. ein
% |.adr|-Eintrag
% \begin{quote}
% \begin{verbatim}
% \adrentry{abc-Lernsysteme}
%          {}
%          {z.Hd. Frau Streb\\Schulstr.1\\2345 Paukstadt}
%          {0\,678 / 90\,12\,34}
%          {}
%          {}
%          {}
%          {ABC}
% \end{verbatim}
% \end{quote}
% so schreibt man anstelle der kompletten Adresse nur noch
% |\begin{letter}{\ABC}|.
% Mit Hilfe der im \textsf{Script}-Paket enthaltenen
% |dir.tex|-Datei kann aus einer |.adr|-Datei ein Adre"sheft erzeugt
% werden, das nach Zurechtschneidung in die
% Standard-Ta"-schen"-ka"-len"-der"-h"ul"-len
% pa"st. Dazu sollten die Eintr"age alphabetisch sortiert sein und vor jedem
% neu begonnenen Anfangsbuchstaben des Nachnamens ein
% |\adrchar|\arg{Anfangsbuchstabe} stehen. Von der |scrlettr.cls| wird dieser
% Befehl ignoriert; |dir.tex| jedoch beginnt bei einer solchen Anweisung eine
% neue Seite und schreibt diesen Buchstaben in die Kopfzeile. Am besten probieren
% Sie dieses Programm einfach einmal anhand einer kleinen Adre"sdatei aus, alle
% ben"otigten Informationen werden w"ahrend des \TeX-Kompilerlaufes erfragt.
%
% "Ahnlich wie |dir.tex| arbeitet das Programm |phone.tex|,
% nur da"s dieses anstelle eines Adre"sheftes ein Telefonnummern-Verzeichnis
% anlegt. |\adrchar| erzeugt hier lediglich einen kleinen vertikalen
% Zwischenraum.
%
% \subsection{Serienbriefe}
%
% Eine weitere Anwendung der |.adr|-Dateien sind Serienbriefe.
%
% \begin{description}
% \item[Beispiel: ] Mit der folgenden kurzen Datei kann eine Einladung an
% s"amtliche Kollegen eines Betriebes erzeugt werden:
% \begin{verbatim}
% \documentclass{scrlettr}
% \usepackage{privat,german}
% \begin{document}
% \def\adrentry#1#2#3#4#5#6#7#8{
%  \begin{letter}{#2 #1\\#3}
%  \opening{Liebe Kolleginnen und Kollegen,}
%  anl"a"slich meines ...
%  \closing{Mit freundlichen Gr"u"sen}
%  \end{letter}
% }
% \input{kollegen.adr}
% \end{document}
% \end{verbatim}
% \end{description}
%
% Soll der Brieftext abh"angig von Adressatenmerkmalen, die in den
% beiden noch freien Argumenten des |\adrentry|-Befehls stehen,
% ver"anderlich sein, k"onnen Konstrukte der folgenden Form verwendet
% werden\footnote{Als Beispiel ist das Geschlecht des Empf"angers im Argument
% \#5 kodiert: m f"ur m"annlich, w f"ur weiblich. In Argument \#6 steht die
% Anzahl der Kinder.}:
% \begin{quote}
% \begin{verbatim}
% \def\adrentry#1#2#3#4#5#6#7#8{
%  \ifcase #6
%   % Dieser Zweig wird bei #6 = 0 abgearbeitet.
%   % In diesem Beispiel sind Empf"anger ohne Kinder uninteressant,
%   % weshalb im \else-Zweig nur Briefe an Kunden mit mindestens
%   % einem Kind erzeugt werden.
%  \else
%   % #6 > 0
%   \begin{letter}{#2 #1\\#3}
%    \if #5m \opening{Sehr geehrter Herr #1,} \fi
%    \if #5w \opening{Sehr geehrte Frau #1,} \fi
%
%    Sie als% Direkt nach 'als' mu"s ein % stehen, da der \if-Befehl
%           % vor 'gl"ucklich..' einen zus"atzlichen Leerraum
%           % generiert (nach \fi jedoch nicht}.
%    \if #5m gl"ucklicher Vater \fi
%    \if #5w gl"uckliche Mutter \fi
%    wissen sicher am besten, was gut f"ur
%    \ifnum #6 < 2
%     Ihr Kind
%    \else
%     Ihre Kinder
%    \fi
%    ist. Um Sie...
%
%    \closing{Mit freundlichen Gr"u"sen}
%   \end{letter}
%  \fi
% }
% \end{verbatim}
% \end{quote}
% Es ist also auch m"oglich, den Brieftext auf bestimmte Empf"angermerkmale
% gezielt abzustimmen und so den Eindruck eines pers"onlichen Schreibens
% zu erwecken. Die Anwendungsbreite ist lediglich durch die maximale Anzahl
% von zwei freien |\adrchar|-Argumenten begrenzt.
%
% \clearpage
% \section{Befehls- und Variablen"ubersicht\label{VARIABLEN}}
%
% \minisec{Briefspezifische Befehle, die strukturbeschreibend sind oder eine
% Ausgabe erzeugen:}
% \vspace{0.5em}
% \begin{labeling}{\tt 12345678901234567890123}
% \item[\tt\bslash begin\{letter\}\{\emph{Adressat}\}]
%    Markiert den Beginn eines Briefes an \emph{Adressat} und beginnt eine
%    neue Seite
% \item[\tt\bslash end\{letter\}]
%    Markiert das Ende eines Briefes
% \item[\tt\bslash opening\{\emph{Anrede}\}]
%    Setzt alle Teile eines Briefes oberhalb und einschlie"slich der
%    \emph{Anrede}
% \item[\tt\bslash closing\{\emph{Gru"sformel}\}]
%    Setzt \emph{Gru"sformel} und Unterschrift
% \item[\tt\bslash ps\{\emph{Postskriptum}\}]
%    Setzt ein \emph{Postskriptum}
% \item[\tt\bslash cc\{\emph{Verteiler}\}]
%    Setzt eine Verteilerliste (Eintr"age durch \texttt{\bslash\bslash}
%                               abgetrennt)
% \item[\tt\bslash encl\{\emph{Anlagen}\}]
%    Setzt eine Anlagenliste (Eintr"age durch \texttt{\bslash\bslash}
%                             abgetrennt)
% \end{labeling}
% \vspace{1em}
%
% \minisec{Befehle der Adre"sdateien:}
% \vspace{0.5em}
% |\adrchar| und |\adrentry| (s.o.)
% \vspace{1.5em}
%
% \minisec{Befehle zur Sprachumschaltung:}
% \vspace{0.5em}
% \begin{labeling}[\ ]{\tt\bslash captionsUSenglish}
% \item[\tt\bslash captionsenglish] Selektiert englische Caption-Texte
% \item[\tt\bslash captionsUSenglish] Selektiert amerikanische Caption-Texte
% \item[\tt\bslash captionsgerman] Selektiert deutsche Caption-Texte
% \item[\tt\bslash captionsaustrian] Selektiert "osterreichische Caption-Texte
% \item[\tt\bslash captionsfrench] Selektiert franz"osische Caption-Texte
% \item[\tt\bslash dateenglish] Englisches Datum (1/12/1993)
% \item[\tt\bslash dateUSenglish] Amerikanisches Datum (12/1/1993)
% \item[\tt\bslash dategerman] Deutsches Datum (1.\,12.\,1993)
% \item[\tt\bslash dateaustrian] "Osterreichisches Datum (1.\,12.\,1993)
% \item[\tt\bslash datefrench] Franz"osisches Datum (1.\,12.\,1993)
% \end{labeling}
% \vspace{1em}
%
% \minisec{Sprachabh"angige Variablen}
% \vspace{0.5em}
% (d"urfen an beliebiger Stelle nach dem |\begin{document}|-Befehl
% verwendet werden, k"onnen aber nur mit Hilfe von
% |\renewcommand| ge"andert werden; die Liste enth"alt die Variableninhalte
% nur in englisch, deutsch und franz"osisch, da die amerikanischen Namen
% den englischen und die "osterreichischen den deutschen entsprechen):
% \vspace{0.5em}
% \begin{labeling}{\tt 1234567890123}
% \item[\tt\bslash yourrefname]
%     Your ref. / Ihr Zeichen / Vos r\'ef\'erences
% \item[\tt\bslash yourmailname]
%     Your letter of / Ihr Schreiben vom / Votre lettre du
% \item[\tt\bslash myrefname]
%     Our ref. / Unser Zeichen / Nos r\'ef\'erences
% \item[\tt\bslash customername]
%     Customer no. / Kundennummer / Num\'ero de client
% \item[\tt\bslash invoicename]
%     Invoice no./ Rechnungsnummer / Num\'ero de facture
% \item[\tt\bslash subjectname]
%     Subject / Betr. / Concernant
% \item[\tt\bslash ccname]
%     cc / Kopien an / Copie \`a
% \item[\tt\bslash enclname]
%     encl / Anlagen / Annexes
% \item[\tt\bslash headtoname]
%     To / An / A
% \item[\tt\bslash datename]
%     Date / Datum / Date
% \item[\tt\bslash pagename]
%     Page / Seite / Page
% \end{labeling}
% \vspace{1em}
%
% \minisec{Briefspezifische Variablen und deren Befehle zur Neu- oder
% Umdefininierung}
% \vspace{0.5em}
% (Variablen mit \verb|@| sind gesch"utzt; alle anderen k"onnen
% an beliebiger Stelle verwendet werden):
% \vspace{0.5em}
% \begin{labeling}["andert]{\tt 123456789012345}
% \item[\tt\bslash name]           |\fromname|
% \item[\tt\bslash signature]      |\fromsig|
% \item[\tt\bslash address]        |\fromaddress|
% \item[\tt\bslash place]          |\fromplace|
% \item[\tt\bslash location]       |\fromlocation|
% \item[\tt\bslash backaddress]    |\frombackaddress|
% \item[\tt\bslash telephone]      |\telephonenum|
% \item[\tt\bslash yourref]        |\varyourref|
% \item[\tt\bslash yourmail]       |\varyourmail|
% \item[\tt\bslash myref]          |\varmyref|
% \item[\tt\bslash customer]       |\varcustomer|
% \item[\tt\bslash invoice]        |\varinvoice|
% \item[\tt\bslash refitemi]       |\varrefitemi|
% \item[\tt\bslash refitemii]      |\varrefitemii|
% \item[\tt\bslash refitemiii]     |\varrefitemiii|
% \item[\tt\bslash refitemnamei]   |\varrefitemnamei|
% \item[\tt\bslash refitemnameii]  |\varrefitemnameii|
% \item[\tt\bslash refitemnameiii] |\varrefitemnameiii|
% \item[\tt\bslash specialmail]    |\@specialmail|
% \item[\tt\bslash title]          |\@title|
% \item[\tt\bslash subject]        |\@subject|
% \item[\tt\bslash firsthead]      |\@firsthead|
% \item[\tt\bslash firstfoot]      |\@firstfoot|
% \item[\tt\bslash nexthead]       |\@nexthead|
% \item[\tt\bslash nextfoot]       |\@nextfoot|
% \end{labeling}
% \vspace{1em}
%
% \minisec{Briefspezifische L"angenangaben}
% \vspace{0.5em}
% (voreingestellte L"ange in eckigen Klammern):
% \vspace{0.5em}
% \begin{labeling}{\tt 1234567890123}
% \item[\tt\bslash foldhskip]
%      Abstand der Falzmarken vom linken Papierrand [3.5\,mm]
% \item[\tt\bslash foldvskipi]
%      Abstand der ersten Falzmarke vom oberen Papierrand [62\,mm]
% \item[\tt\bslash foldvskipii]
%      Abstand der zweiten Falzmarke von der ersten Falzmarke [40.5\,mm]
% \item[\tt\bslash foldvskipiii]
%      Abstand der dritten Falzmarke von der zweiten Falzmarke [58.5\,mm]
% \item[\tt\bslash addrvskip]
%      Abstand des Adre"sfensters von der Textbereichs-Oberkante [7.5\,mm]
% \item[\tt\bslash addrindent]
%      Abstand des Adre"sfensters vom linken Rand des Textbereiches [0\,mm]
% \item[\tt\bslash addrwidth]
%      Breite des Adre"sfensters [70\,mm]
% \item[\tt\bslash addrheight]
%      H"ohe des Adre"sfensters [35\,mm]
% \item[\tt\bslash locwidth]
%      Breite des "`Location"'-Feldes
%      [(|\textwidth|$-$|\addrwidth|)/2\footnote{Bei Option
%      \texttt{\bslash slocfield}.} oder
%      (|\textwidth|$-$|\addrwidth|)$*2/3$\footnote{Bei Option
%      \texttt{\bslash wlocfield}.}]
% \item[\tt\bslash refvskip]
%      Abstand des Referenzfeldes von der Adre"sfeld-Unterkante [5.5\,mm]
% \item[\tt\bslash sigindent]
%      Abstand der Gru"sformel und der Unterschrift vom
%      linken Rand des Textbereiches [0\,mm]
% \end{labeling}
% \vspace{1em}
%
% \minisec{Schalter}
% \vspace{0.5em}
% (an jeden Schalternamen ist noch |on| bzw. |off| anzuh"angen):
% \vspace{0.5em}
% \begin{labeling}[schaltet]{\tt 1234567890}
% \item[\tt\bslash foldmarks] Falzmarken [Default = on]
% \item[\tt\bslash addrfield] Adre"s- und "`Location"'-Feld [Default = on]
% \item[\tt\bslash subject]   "`Betreff"'-Text [Default = off]
% \end{labeling}
%
% \clearpage
% \begin{thebibliography}{XXXXX99}
% \bibitem[JTsch87]{JanTschichold}
%                            \textsc{Jan Tschichold:}
%                            "`Ausgew"ahlte Aufs"atze "uber die Gestalt des
%                            Buches und der Typographie"', Zweite Auflage,
%                            Birkh"auser Verlag, Basel 1987
% \end{thebibliography}
%
% \fi
%
% \StopEventually
%
% \ifImplDocument
%   \let\ImplDocument=\relax
% \else
%   \let\ImplDocument=\endinput
% \fi
% \ImplDocument
% \RecordChanges
% \part{"`scrdoc"'-class}
% \chapter{Implementierung}
%
% Diese gesamte class ist mehr oder weniger aus dem Standardpaket
% \emph{geklaut}! Dies wurde leider notwendig, da zur Demonstration der
% F"ahigkeiten des \textsf{KOMA-Script}-Pakets diese ben"otigt wurden. Daher
% war es nicht einfach m"oglich die Standard-Document-class |ltxdoc| zu
% verwenden. Die notwendigen "Anderungen beschr"anken sich jedoch darauf
% an zwei Stellen |article| durch |scrreprt| zu ersetzen.
%
% Um eine jeweils aktuelle Version von |scrdoc.cls| zu besitzen, mu"s also
% nur |ltxdoc.cls| in |scrdoc.cls| umbenannt, in |\DocumentClass{ltxdoc}| mu"s
% |ltxdoc| durch |scrdoc| und jedes Vorkommen von |article| durch |scrreprt|
% ersetzt werden. Das war alles!
%
% Die hier enthaltene Version von |scrdoc| ist weiter eingeschr"ankt. Alle
% Befehle, die nicht unbedingt ben"otigt werden, sondern Inhalt von
% |komascr.dtx| sind, wurden entfernt.
%
%    \begin{macrocode}
%<*scrdoc>
\DeclareOption*{%
    \PassOptionsToClass  {\CurrentOption}{scrreprt}}
%    \end{macrocode}
% Genau hier fand die erste Ersetzung von |article| durch |scrreprt| statt.
% Dieser Befehl solgt "ubrigens daf"ur, da"s die Optionen an die Haupt-class
% weitergeleitet werden.
%
% Falls eine Konfigurationsdatei f"ur |ltxdoc| vorhanden ist, soll diese
% auch von |scrdoc| eingelesen werden.
%    \begin{macrocode}
\InputIfFileExists{ltxdoc.cfg}
           {\typeout{*************************************^^J%
                     * Local config file ltxdoc.cfg used^^J%
                     *************************************}}
           {}
%    \end{macrocode}
%
% Die Optionen sollen jetzt bereits abgearbeitet werden, also bevor
% andere Standardoptionen gesetzt wurden und die Haupt-class eingeladen
% wird.
%    \begin{macrocode}
\ProcessOptions
\LoadClass{scrreprt}
%    \end{macrocode}
% An eben dieser Stelle fand die zweite Ersetzen von |article| gegen
% |scrreprt| statt. Theoretisch w"are hier auch |scrartcl| oder |scrbook|
% m"oglich gewesen.
%
% Was nun kommt, ist direkt aus |ltxdoc| geklaut. Es werden daher nur
% noch die Auslassungsstellen markiert.
%
%    \begin{macrocode}
\RequirePackage{doc}
\AtBeginDocument{\MakeShortVerb{\|}}
\CodelineNumbered
\DisableCrossrefs
%    \end{macrocode}
% An dieser Stelle wurden einige Teile entfernt, n"amlich:
% \begin{verbatim}
%    \setlength{\textwidth}{355pt}
%    \addtolength\marginparwidth{5pt}
% \end{verbatim}
%    \begin{macrocode}
\DeclareFontShape{OT1}{cmtt}{bx}{n}
  {<->ssub * cmtt/m/n}{}
\setcounter{StandardModuleDepth}{1}
\def\cmd#1{\cs{\expandafter\cmd@to@cs\string#1}}
\def\cmd@to@cs#1#2{\char\number`#2\relax}
\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
%    \end{macrocode}
% Die folgenden Zeilen wurden ebenfalls rausgeworfen:
% \begin{verbatim}
% \providecommand\star{%
%   \ttfamily*}
% \providecommand\marg[1]{%
%   {\ttfamily\char`\{}{\em#1\/}{\ttfamily\char`\}}}
% \providecommand\oarg[1]{%
%   {\ttfamily[}{\em#1\/}{\ttfamily]}}
% \providecommand\parg[1]{%
%   {\ttfamily(}{\em#1\/}{\ttfamily)}}
% \def\oc@scan#1{%
%   \ifx\oc@bslash#1%
%                       \egroup\let\next\oc@bslash\else
%   \ifcat a\noexpand#1%
%                       #1\let\next\oc@scan\else
%   \ifx\oc@percent#1%
%                       \def\next{\char`\%\egroup}%
%   \else
%                       #1\let\next\egroup
%   \fi\fi\fi\next}
% \def\oc@bslash{\bgroup\oc@ttf\char`\\\oc@scan}%
% \def\oc@verb#1{%
%   \catcode`#1\active
%   \uccode`\~`#1%
%   \uppercase{\def~{{\oc@ttf\char`#1}}}}
% \begingroup
%   \obeyspaces%
%   \catcode`\/=\catcode`\\
%   /catcode`/\/active
%   /catcode`<=/catcode`{%
%   /catcode`>=/catcode`}%
%   /catcode`/{/active%
%   /catcode`/}/active%
%   /gdef/oldc< \end{oldcomments}>%
%   /gdef/begmac<    \begin{macrocode}>%
%   /gdef/obs</def <</oc@ttf/ >>>%
% /endgroup%
% \begingroup
%   \catcode`\/=\catcode`\\
%   \catcode`\\=13
%   /catcode`/|=/catcode`/%
%   /catcode`/%=13
%   /gdef/oldcomments{|
%     /makeatletter
%     /let/do/oc@verb/dospecials
%     /frenchspacing/@vobeyspaces/obs
%     /raggedright
%     /oc@verb/>|
%     /oc@verb/<|
%     /let\/oc@bslash
%     /let%/oc@percent
%     /obeylines
%     /parindent/z@
%     /ttfamily/expandafter/let/expandafter/oc@ttf/the/font
%     /rmfamily
%     /hfuzz/maxdimen
%     }
% /endgroup
% \begingroup
%   \sloppy%
%   \obeylines%
%   \gdef\oc@percent#1^^M{%
%     \ifvmode%
%     \def\commentline{#1}%
%     \ifx\commentline\oldc%
%     \end{oldcomments}%
%     \else%
%     \ifx\commentline\begmac%
%     \begin{macrocode}%
%     \else%
%     \leavevmode%
%     #1^^M%
%     \fi\fi%
%     \else%
%     {\oc@ttf\char`\%}#1^^M%
%     \fi}%
% \endgroup%
% \end{verbatim}
%
% So, jetzt kommt wieder ein Teil, der wirklich ben"otigt wird:
%    \begin{macrocode}
\@addtoreset{CodelineNo}{part}
\def\partname{File}
\def\DocInclude#1{%
  \relax
  \clearpage
  \docincludeaux
  \def\currentfile{#1.dtx}%
  \ifnum\@auxout=\@partaux
    \@latexerr{\string\include\space cannot be nested}\@eha
  \else \@docinclude#1 \fi}
\def\@docinclude#1 {\clearpage
\if@filesw \immediate\write\@mainaux{\string\@input{#1.aux}}\fi
\@tempswatrue\if@partsw \@tempswafalse\edef\@tempb{#1}\@for
\@tempa:=\@partlist\do{\ifx\@tempa\@tempb\@tempswatrue\fi}\fi
\if@tempswa \let\@auxout\@partaux \if@filesw
\immediate\openout\@partaux #1.aux
\immediate\write\@partaux{\relax}\fi
\part{#1.dtx}%
  {\let\ttfamily\relax
  \xdef\filekey{\filekey, \thepart={\ttfamily\currentfile}}}%
\DocInput{#1.dtx}%
\clearpage
\@writeckpt{#1}\if@filesw \immediate\closeout\@partaux \fi
\else\@nameuse{cp@#1}\fi\let\@auxout\@mainaux}
\gdef\codeline@wrindex#1{\if@filesw
        \immediate\write\@indexfile
            {\string\indexentry{#1}%
            {\filesep\number\c@CodelineNo}}\fi}%
\let\filesep\@empty
\def\aalph#1{\@aalph{\csname c@#1\endcsname}}
\def\@aalph#1{%
  \ifcase#1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or
         j\or k\or l\or m\or n\or o\or p\or q\or r\or s\or
         t\or u\or v\or w\or x\or y\or z\or A\or B\or C\or
         D\or E\or F\or G\or H\or I\or J\or K\or L\or M\or
         N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or
         X\or Y\or Z\else\@ctrerr\fi}
\def\docincludeaux{%
  \def\thepart{\aalph{part}}\def\filesep{\thepart-}%
  \let\filekey\@gobble
  \g@addto@macro\index@prologue{%
    \gdef\@oddfoot{\parbox{\textwidth}{\strut\footnotesize
       \raggedright{\bfseries File Key:} \filekey}}%
    \let\@evenfoot\@oddfoot}%
  \global\let\docincludeaux\relax
 \gdef\@oddfoot{%
   \expandafter\ifx\csname ver@\currentfile\endcsname\relax
    File \thepart: {\ttfamily\currentfile} %
   \else
    \GetFileInfo{\currentfile}%
    File \thepart: {\ttfamily\filename} %
    Date: \filedate\ %
    Version \fileversion
    \fi
    \hfill\thepage}%
 \let\@evenfoot\@oddfoot}%
\def\task#1#2{}
%    \end{macrocode}
%
% Das war's dann auch schon!
%    \begin{macrocode}
%</scrdoc>
%    \end{macrocode}
%
% \part{"`typearea"'-package}
% \chapter{Implementierung}
%
%    \begin{macrocode}
%<*typearea>
%    \end{macrocode}
% \changes{v2.0e}{1994/07/07}{Auf \LaTeXe umgestellt}
% \changes{v2.0e}{1994/09/02}{{\cmd\ProvideClass} durch {\cmd\PovidePackage} ersetzt}
% \changes{v2.0e}{1994/09/02}{{\cmd\endinput} angeh"angt}
% \changes{v2.1a}{1994/10/29}{Auf doc/docstrip umgestellt}
% \changes{v2.1b}{1994/12/31}{Letzte Version f"ur 1994 fertiggestellt}
% Erstmal zeigen, was es ist:
%    \begin{macrocode}
\typeout{Package: typearea, Copyright (C) Frank Neukam, 1992-1993
      ^^J\space\space\space\space\space\space\space\space\space
         \space\space\space\space\space\space\space\space\space\space
                            Copyright (C) Markus Kohm, 1994}
%    \end{macrocode}
%
% \section{Befehle vor den Optionen}
%
%    \begin{macrocode}
\newif\if@hincl
\newif\if@fincl
%    \end{macrocode}
%  \begin{macro}{\SetDIVList}
%  \changes{v2.1a}{1994/10/28}{{\cmd\SetDIVList} eingef"uhrt}
% Der Befehl |\SetDIVList| tut nichts weiter als die innere Variable
% f"ur die schriftgr"o"senabh"angige \emph{DIV}-Liste |\ta@divlist| neu
% zu definieren.
%    \begin{macrocode}
\newcommand\SetDIVList[1]{\def\ta@divlist{#1}}
%    \end{macrocode}
%  \end{macro}
%
% \section{Optionen}
%
% \subsection{"`headinclude"', "`headexclude"'}
%
% Diese Optionen bestimmen, ob der Seitenkopf bereits zum Textbereich geh"ort.
%    \begin{macrocode}
\DeclareOption{headinclude}{\@hincltrue}
\DeclareOption{headexclude}{\@hinclfalse}
%    \end{macrocode}
%
% \subsection{"`footinclude"', "`footexclude"'}
%
% Diese Optionen bestimmen, ob die Fu"szeilen noch zum Textbereich geh"oren.
%    \begin{macrocode}
\DeclareOption{footinclude}{\@fincltrue}
\DeclareOption{footexclude}{\@finclfalse}
%    \end{macrocode}
%
% \subsection{Papiergr"o"sen-Optionen}
%
% Diese Optionen bestimmen die Papiergr"o"se. Aus der Papiergr"o"se wird sp"ater
% mit |\typearea| der Seitenspiegel berechnet. Dar"uber hinaus w"are das eine
% passende Gelegenheit |\SetDIVList| anzuwenden.
%
% \noindent%
% ISO/DIN A4:
%    \begin{macrocode}
\DeclareOption{a4paper}
   {\setlength\paperheight {297mm}%
    \setlength\paperwidth  {210mm}}
%    \end{macrocode}
% ISO/DIN A5:
%    \begin{macrocode}
\DeclareOption{a5paper}
   {\setlength\paperheight {210mm}%
    \setlength\paperwidth  {148mm}}
%    \end{macrocode}
% ISO/DIN B5:
%    \begin{macrocode}
\DeclareOption{b5paper}
   {\setlength\paperheight {250mm}%
    \setlength\paperwidth  {176mm}}
%    \end{macrocode}
% ISO letter:
%    \begin{macrocode}
\DeclareOption{letterpaper}
   {\setlength\paperheight {11in}%
    \setlength\paperwidth  {8.5in}}
%    \end{macrocode}
% ISO legal:
%    \begin{macrocode}
\DeclareOption{legalpaper}
   {\setlength\paperheight {14in}%
    \setlength\paperwidth  {8.5in}}
%    \end{macrocode}
% executive:
%    \begin{macrocode}
\DeclareOption{executivepaper}
   {\setlength\paperheight {10.5in}%
    \setlength\paperwidth  {7.25in}}
%    \end{macrocode}
%
% \subsection{landscape}
%
% Mit der Option |landscape| werden die |\paperheight| und |\paperwidth|
% vertausch. Damit wird das entsprechende Querformat erreicht. Nun
% ben"otigt man nur noch einen entsprechenden Drucker oder einen
% |DVI|-Treiber, der mit einer speziellen Option eine um 90\,Grad
% gedrehte Ausgabe kann.
%    \begin{macrocode}
\DeclareOption{landscape}
   {\setlength\@tempdima   {\paperheight}%
    \setlength\paperheight {\paperwidth}%
    \setlength\paperwidth  {\@tempdima}}
%    \end{macrocode}
%
% \section{Konfigurationsdatei}
%
% \changes{v2.0e}{1994/10/28}{Konfigurationsdatei eingef"ugt}
% Es ist m"oglich in einer Datei |typearea.cfg| z.B. weitere Optionen
% zu definieren, die dann automatsich eingeladen werden.
%    \begin{macrocode}
\InputIfFileExists{typearea.cfg}
           {\typeout{***************************************^^J%
                     * Local config file typearea.cfg used^^J%
                     ***************************************}}
           {}
%    \end{macrocode}
%
% \section{Standardeinstellungen}
% Als Standardoptionen sind |headexclude|, |footexclude| und die
% Papiergr"o"se |a4paper| eingestellt. Diese Optionen k"onnen selbstverst"andlich
% durch explizite Angaben "uberladen werden.
%    \begin{macrocode}
\ExecuteOptions{headexclude,footexclude,a4paper}
\ProcessOptions
%    \end{macrocode}
%
%  \begin{macro}{\ta@divlist}
%  \changes{v2.0e}{1994/10/28}{Definition der internen {\cmd\ta@divlist}}
% Au"serdem mu"s an dieser Stelle noch f"ur die Standardeinstellung der
% |DIV|-Liste gesorgt werden, falls eine solche noch nicht definiert wurde.
%    \begin{macrocode}
\providecommand\ta@divlist{{8}{10}{12}}
%    \end{macrocode}
%  \end{macro}
% \section{Einige interne Register}
%
% Diese Gr"o"senparameter und Z"ahler werden intern f"ur verschiedene Befehle
% ben"otigt.
%    \begin{macrocode}
\newdimen\ta@bcor
\newcount\ta@div
\newdimen\ta@hblk
\newdimen\ta@vblk
\newdimen\ta@temp
%    \end{macrocode}
%
% \section{Die Berechnung des Seitenspiegels}
%
%  \begin{macro}{\typearea}
% Die Berechnung des Seitenspiegels, wie sie im Hauptteil der Anleitung
% beschrieben ist, findet mit Hilfe des Befehls |\typearea| statt, der hier
% definiert wird. Die Berechnung selbst findet in mehreren Stufen statt.
%    \begin{macrocode}
\newcommand\typearea[2][\z@]{% Das alte \typearea unter Verwendung neuer Befehle
 \ta@bcor #1
 \ta@div=#2
%    \end{macrocode}
% Zun"achst wird die Gr"o"se eines horizontalen Teils ermittelt
%    \begin{macrocode}
 \ta@hblk \paperwidth
 \advance \ta@hblk by -\ta@bcor
 \divide\ta@hblk by \ta@div
%    \end{macrocode}
% Der linke und rechte Rand wird relativ zur benutzbaren Seitenbreite berechnet.
% Dabei mu"s auch der Rand ber"ucksichtigt werden, der vom Druckertreiber
% standardm"a"sig hinzugef"ugt wird. Au"serdem ist der Rand abh"angig davon, ob es
% sich um ein einsteitiges oder beidseitiges Layout handelt.
%    \begin{macrocode}
 \oddsidemargin -1in
 \evensidemargin -1in
 \if@twoside
  \advance\oddsidemargin by \ta@hblk
  \advance\oddsidemargin by \ta@bcor
  \advance\evensidemargin by 2\ta@hblk
 \else
  \advance\oddsidemargin by 1.5\ta@hblk
  \advance\oddsidemargin by \ta@bcor
  \evensidemargin\oddsidemargin
 \fi
%    \end{macrocode}
% Der Rest steht nun f"ur den Textbereich zur Verf"ugung
%    \begin{macrocode}
 \textwidth \paperwidth
 \advance\textwidth by -\ta@bcor
 \advance\textwidth by -3\ta@hblk
%    \end{macrocode}
% Nun werden die vertikalen Verteilungen berechnet
% \changes{v2.1b}{1994/12/31}{\texttt{headheight} von {\cmd\@ptsize}
%                             abh"angig gemacht}
%    \begin{macrocode}
 \headheight 15pt
 \advance\headheight \@ptsize pt
 \headsep 1.5\baselineskip
 \footskip 3.5\baselineskip
 \ta@vblk \paperheight
 \divide\ta@vblk by \ta@div
 \ta@temp \paperheight
 \advance\ta@temp by -3\ta@vblk
%    \end{macrocode}
% Dabei wird ber"ucksichtigt, ob der Kopf und der Fu"steil der Seite
% f"ur die Berechnung zum Textbereich gez"ahlt werden soll.
%    \begin{macrocode}
 \if@hincl
  \advance\ta@temp by -\headheight
  \advance\ta@temp by -\headsep
 \fi
 \if@fincl
  \advance\ta@temp by -\footskip
 \fi
 \textheight \topskip
%    \end{macrocode}
% Die H"ohe des Textbereichs soll ein Vielfaches von |\baselineskip| sein.
%    \begin{macrocode}
 \@whiledim\textheight<\ta@temp
  \do{\advance\textheight by \baselineskip}
 \topmargin \ta@vblk
 \advance\topmargin by -1in
 \if@hincl \else
  \advance\topmargin by -\headheight
  \advance\topmargin by -\headsep
 \fi
 \if@twoside
  \marginparwidth 1.5\ta@hblk
 \else
  \marginparwidth \ta@hblk
 \fi
%    \end{macrocode}
% \changes{v2.0e}{1994/10/28}{Die Seitenaufteilung wird in die log-Datei
%                             geschrieben.}
% Zum Schlu"s soll die Seitenaufteilung noch in die |log|-Datei geschrieben
% werden.
%    \begin{macrocode}
 \PackageInfo{typearea}{%
    These are the values describing the layout:\MessageBreak
    DIV\space\space=\space\number\ta@div\MessageBreak
    BCOR\space=\space\the\ta@bcor\MessageBreak
    \string\paperwidth\space\space\space\space\space\space=%
                         \space\the\paperwidth\MessageBreak
    \space\string\textwidth\space\space\space\space\space\space=%
                         \space\the\textwidth\MessageBreak
    \space\string\evensidemargin\space=%
                         \space\the\evensidemargin\MessageBreak
    \space\string\oddsidemargin\space=%
                         \space\the\oddsidemargin\MessageBreak
    \string\paperheight\space\space\space\space\space=%
                         \space\the\paperheight\MessageBreak
    \space\string\textheight\space\space\space\space\space=%
                         \space\the\textheight\MessageBreak
    \space\string\topmargin\space\space\space\space\space\space=%
                         \space\the\topmargin\MessageBreak
    \space\string\headheight\space\space\space\space\space=%
                         \space\the\headheight\MessageBreak
    \space\string\headsep\space\space\space\space\space\space\space\space=%
                         \space\the\headsep\MessageBreak
    \space\string\topskip\space\space\space\space\space\space\space\space=%
                         \space\the\topskip\MessageBreak
    \space\string\textheight\space\space\space\space\space=%
                         \space\the\textheight\MessageBreak
    \space\string\footskip\space\space\space\space\space\space\space=%
                         \space\the\footskip\MessageBreak
  }
 \marginparsep 1cc
 \marginparpush 0.45\baselineskip}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\areaset}
% \changes{v2.1b}{1994/12/31}{\texttt{headheight} von {\cmd\@ptsize}
%                             abh"angig gemacht}
% Der Befehl zur Berechnung eines Seitenspiegels mit fester Breite und
% H"ohe dient der Befehl |\areaset|. Diese Berechnung ist "ahnlich wie
% die vorherige, aber einfacher.
%    \begin{macrocode}
\newcommand\areaset[3][\z@]{% Das alte \areaset unter Verwendung neuer Befehle
 \ta@bcor #1
 \textwidth #2
 \textheight #3
 \ta@hblk \paperwidth
 \advance\ta@hblk by -\ta@bcor
 \advance\ta@hblk by -\textwidth
 \divide\ta@hblk by 3
 \oddsidemargin -1in
 \evensidemargin -1in
 \if@twoside
  \advance\oddsidemargin by \ta@hblk
  \advance\oddsidemargin by \ta@bcor
  \advance\evensidemargin by 2\ta@hblk
 \else
  \advance\oddsidemargin by 1.5\ta@hblk
  \advance\oddsidemargin by \ta@bcor
  \evensidemargin\oddsidemargin
 \fi
 \headheight 15pt
 \advance\headheight \@ptsize pt
 \headsep 1.5\baselineskip
 \footskip 3.5\baselineskip
 \ta@vblk \paperheight
 \advance\ta@vblk by -\textheight
 \divide\ta@vblk by 3
 \if@hincl
  \advance\textheight by -\headheight
  \advance\textheight by -\headsep
 \fi
 \if@fincl
  \advance\textheight by -\footskip
 \fi
 \topmargin \ta@vblk
 \advance\topmargin by -1in
 \if@hincl \else
  \advance\topmargin by -\headheight
  \advance\topmargin by -\headsep
 \fi
 \if@twoside
  \marginparwidth 1.5\ta@hblk
 \else
  \marginparwidth \ta@hblk
 \fi
 \marginparsep 1cc
 \marginparpush 0.45\baselineskip}
%    \end{macrocode}
%  \end{macro}
%
% \section{Berechnung des Standardseitenspiegels}
%
%  \begin{macro}{\ta@divfor}
% Der Standardseitenspiegel ist abh"angig von den mit |\SetDIVList|
% vorgegebenen Einstellungen. Dazu mu"s aus einer eventuell vorhandenen
% inneren Liste |ta@divlist| der von der Schriftgr"o"se abh"angige
% \textsf{DIV}-Wert ausgelesen werden. Dies geschieht mit Hilfe des
% |\ta@divfor|-Befehls, der sich wiederum einiger interner Befehle
% zur Listenbearbeitung bedient.
%    \begin{macrocode}
\def\ta@divfor#1{
    \xdef\@tempa{\ta@divlist{}}
    \ta@div=#1\relax
    \@whilenum \ta@div >0 \do {%
         \ifx\@tempa\empty \relax%
           \else \xdef\@tempa{\expandafter\@cdr\@tempa\@nil}%
         \fi
         \advance\ta@div by -1 %
    }
    \ifx\@tempa\empty %
%    \end{macrocode}
% Wenn keine Voreinstellung gefunden werden konnte, so wird immer
% der Standardwert \textsf{DIV} = 10 verwendet. Mit einer Warnung
% wird darauf hingewiesen.
%    \begin{macrocode}
        \PackageWarningNoLine{typearea}{%
                    DIV for 1#1pt and used papersize\MessageBreak
                    not defined!\MessageBreak
                    Using DIV=10}
        \typearea{10}
      \else %
%    \end{macrocode}
% Ansonsten wird der vorgegebene Wert verwendet.
%    \begin{macrocode}
        \xdef\@tempa{\expandafter\@car\@tempa\@nil}
        \ta@div=\@tempa\relax
        \typearea{\ta@div}
    \fi}
%    \end{macrocode}
%  \end{macro}
% Nun fehlt nur noch die eigentliche Initialisierung. Sollte die
% Schriftgr"o"se nicht auf herk"ommliche Art und Weise gespeichert sein,
% so wird dies gemeldet und von der Standardgr"o"se 11pt ausgegangen.
%    \begin{macrocode}
\@ifundefined{@ptsize}{%
    \PackageWarningNoLine{typearea}{\string\@ptsize not defined!\MessageBreak
                                    Using DIV for 11pt}
    \ta@divfor{1}
    }{%
    \ta@divfor{\@ptsize}
    }
%    \end{macrocode}
%
% \section{Das Ende}
%
%    \begin{macrocode}
%</typearea>
%    \end{macrocode}
%
% \part{"`scrartcl"'-class,
%       "`scrreprt"'-class,
%       "`scrbook"'-class}
%
% \chapter{Vorbemerkung}
%
% Alle drei Haupt-\emph{classes} haben viele Teile gemeinsam. Die gr"o"sten
% Gemeinsamkeiten bestehen dabei zwischen |scrreprt| und |scrbook|. |scrartcl|
% unterscheidet sich in mehreren Punkten von den beiden "ubrigen
% Haupt-\emph{classes}.
%
% |scrlettr| unterscheidet sich in vielen Punkten grundlegend von den drei
% Haupt-\emph{classes}. Deshalb wird diese class in einem eigenen Teil
% implementiert.
%
% \chapter{Implementierung}
%
%    \begin{macrocode}
%<*scrartcl|scrreprt|scrbook>
%    \end{macrocode}
%
% \changes{v2.0e}{1994/07/07}{Erste Version von "`scrartcl"', "`scrreprt"'
%                             und "`scrbook"'}
% \changes{v2.0e}{1994/08/10}{Statt {\cmd\secdef} stand fast "uberall in
%                             "`scrreprt"' und "`scrbook"' {\cmd\sectdef}}
% \changes{v2.0e}{1994/08/10}{Statt {\cmd\addcontentsline} war in
%                             "`scrreprt"' und "`scrbook"'
%                             {\cmd\addcontensline} zu lesen}
% \changes{v2.0e}{1994/08/10}{Statt {\cmd\@makeschapterhead} stand in
%                             "`scrreprt"' und "`scrbook"'
%                             an zwei Stellen {\cmd\@makechapterhead}}
% \changes{v2.0e}{1994/08/10}{Statt {\cmd\@afterheading} war in
%                             "`scrreprt"' und "`scrbook"'
%                             {\cmd\afterheadings} zu lesen}
% \changes{v2.1b}{1994/12/31}{Letzte Version f"ur 1994 fertiggestellt}
%
% Die Implementierung "ahnelt in vielen Punkten der der Standard-classes. Deshalb
% werden hier allenfalls grobe Unterschiede behandelt.
%
% \section{Optionen}
%
%    \begin{macrocode}
\newcommand\@ptsize{}
\newif\if@restonecol
\newif\if@titlepage
%<scrartcl>\@titlepagefalse
%<scrreprt|scrbook>\@titlepagetrue
%<!scrartcl>\newif\if@openright
\newif\if@openbib
\@openbibfalse
\newif\if@hsl
\newif\if@fsl
\newif\if@abstrt
%    \end{macrocode}
% Es gibt einige neue Optionen gegen"uber den Standard-Classes.
%
% \subsection{Headseparation-Lines}
%  \begin{macro}{headsepline}
%  \begin{macro}{headnosepline}
% Der Kopfteil kann mit einer Linie vom Textbereich getrennt werden.
%    \begin{macrocode}
\DeclareOption{headsepline}{\PassOptionsToPackage{headinclude}{typearea}\@hsltrue}
\DeclareOption{headnosepline}{\@hslfalse}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
% \subsection{Footseparation-Lines}
%  \begin{macro}{footsepline}
%  \begin{macro}{footnosepline}
% Der Fu"steil kann mit einer Linie vom Textbereich getrennt werden.
% \changes{v2.0e}{1994/08/14}{In {\cmd\PassOptionsToPackage} fehlte die
%                             package-Angabe}
%    \begin{macrocode}
\DeclareOption{footsepline}{\PassOptionsToPackage{footinclude}{typearea}\@fsltrue}
\DeclareOption{footnosepline}{\@fslfalse}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
% \subsection{Standardoptionen}
%    \begin{macrocode}
\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
\DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
\DeclareOption{final}{\setlength\overfullrule{0pt}}
\DeclareOption{titlepage}{\@titlepagetrue}
\DeclareOption{notitlepage}{\@titlepagefalse}
%<!scrartcl>\DeclareOption{openright}{\@openrighttrue}
%<!scrartcl>\DeclareOption{openany}{\@openrightfalse}
\DeclareOption{onecolumn}{\@twocolumnfalse}
\DeclareOption{twocolumn}{\@twocolumntrue}
\DeclareOption{leqno}{\input{leqno.clo}}
\DeclareOption{fleqn}{\input{fleqn.clo}}
\DeclareOption{openbib}{\@openbibtrue}
%    \end{macrocode}
% \subsection{Abstract (Zusammenfassung)}
%  \begin{macro}{abstracton}
%  \begin{macro}{abstractoff}
% Das Abstract (Zusammenfassung) kann mit einem standardm"a"sigen Titel versehen
% werden. Der Titel kann aber auch unterdr"uckt werden.
%
% Bei |scrbook| gibt es kein Abstract.
%    \begin{macrocode}
%<!scrbook>\DeclareOption{abstracton}{\@abstrttrue}
%<!scrbook>\DeclareOption{abstractoff}{\@abstrtfalse}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
% \changes{v2.0e}{1994/09/04}{Statt abstractoff stand "`abstactoff"' in der
%                             Standardoptionenliste}
% \subsection{Optionenauswahl}
% Es m"ussen die Standardoptionen festgelegt und alle Optionen ausgew"ahlt werden.
% Anschlie"send ist die Schriftgr"o"seneinstellung vorzunehmen und der
% Seitenspiegel mit Hilfe des |typearea|-packages zu berechnen
%    \begin{macrocode}
\ExecuteOptions{11pt,onecolumn,final,headnosepline,footnosepline,
%<scrartcl>                oneside,abstractoff}
%<scrreprt>                oneside,openany,abstractoff}
%<scrbook>                twoside,openright}
\ProcessOptions
%<!scrbook>\input{size1\@ptsize.clo}
%<scrbook>\input{bk1\@ptsize.clo}
\RequirePackage{typearea}
%    \end{macrocode}
% \section{Einige Gr"o"sen}
% Einige Gr"o"sen sind festzulegen:
%    \begin{macrocode}
\setlength\lineskip{1\p@}
\setlength\normallineskip{1\p@}
\renewcommand\baselinestretch{}
\setlength\parskip{0\p@ \@plus \p@}
\@lowpenalty   51
\@medpenalty  151
\@highpenalty 301
\setcounter{topnumber}{2}
\renewcommand\topfraction{.7}
\setcounter{bottomnumber}{1}
\renewcommand\bottomfraction{.3}
\setcounter{totalnumber}{3}
\renewcommand\textfraction{.2}
\renewcommand\floatpagefraction{.5}
\setcounter{dbltopnumber}{2}
\renewcommand\dbltopfraction{.7}
\renewcommand\dblfloatpagefraction{.5}
%    \end{macrocode}
% \section{Befehle f"ur den Kompatibilit"atsmodus}
%  \begin{macro}{\headincludeon}
%  \begin{macro}{\headincludeoff}
%  \begin{macro}{\headseplineon}
%  \begin{macro}{\headseplineoff}
%  \begin{macro}{\footincludeon}
%  \begin{macro}{\footincludeoff}
%  \begin{macro}{\footseplineon}
%  \begin{macro}{\footseplineoff}
% Da die classes des \textsf{KOMA-Script}-Pakets nun auch im
% Kompatibilit"atsmodus verwendet werden k"onnen, ben"otigen wir einige
% Befehle, die es bei \textsf{Script 2.0} noch gab. Die betrifft an dieser
% Stelle nur die Befehle f"ur dei Kopf- und Fu"szeilentrennlinie und
% die Einbeziehung von Kopf- und Fu"szeilen in den Textbereich bei
% der Berechnung des Seitenspiegels.
% \changes{v2.0e}{1994/10/12}{Kopf- und Fu"szeilenhandling f"ur den
%                             Kompatibilit"atsmodus erg"anzt}
%    \begin{macrocode}
\if@compatibility
  \newcommand\headincludeon{\@hincltrue}
  \newcommand\headincludeoff{\@hinclfalse}
  \newcommand\headseplineon{\@hsltrue \@hincltrue}
  \newcommand\headseplineoff{\@hslfalse \@hinclfalse}
  \newcommand\footincludeon{\@fincltrue}
  \newcommand\footincludeoff{\@finclfalse}
  \newcommand\footseplineon{\@fsltrue \@fincltrue}
  \newcommand\footseplineoff{\@fslfalse \@finclfalse}
\fi
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \section{Kopf- und Fu"szeilendefinition}
%
%  \begin{macro}{plain}
%  \begin{macro}{headings}
%  \begin{macro}{myheadings}
% Es wird das Aussehen der Kopf- und Fu"szeilen f"ur die Standardseitenstile
% |empty|, |plain|, |headings| und |myheadings| festgelegt. Diese sind bei
% |scrartcl| abh"angig davon, ob es sich um einseitiges oder beidseitiges
% Layout handelt.
%
% Im Gegensatz zu den Seitenstilen der Standard-classes, steht die
% Seitennummer beim \textsf{KOMA-Script}-Paket immer in der Fu"szeile.
% Au"serdem sind Trennlinien zwischen Kopf- und Textbereich sowie zwischen
% Text- und Fu"sbereich m"oglich.
% Es werden auch nicht mehr ausschlie"slich Gro"sbuchstaben verwendet.
%
% \changes{v2.0e}{1994/08/10}{Bei "`scrbook"' gibt es kein einseitiges
%                             Layout!}
%    \begin{macrocode}
%<!scrbook>\if@twoside
 \def\ps@plain{\let\@mkboth\@gobbletwo
  \def\@evenhead{}%
  \def\@oddhead{}%
  \def\@evenfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3pt \fi
   \hbox to \textwidth{{\pnumfont\thepage\hfil}}}}%
  \def\@oddfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3pt \fi
   \hbox to \textwidth{{\pnumfont\hfil\thepage}}}}}
 \def\ps@headings{\let\@mkboth\markboth
  \def\@evenhead{\vbox{\hsize=\textwidth
   \hbox to \textwidth{{\headfont\leftmark\hfil}}%
   \if@hsl \vskip 1.5pt \hrule \fi}}
  \def\@oddhead{\vbox{\hsize=\textwidth
   \hbox to \textwidth{{\headfont\hfil\rightmark}}%
   \if@hsl \vskip 1.5pt \hrule \fi}}
  \def\@evenfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3pt \fi
   \hbox to \textwidth{{\pnumfont\thepage\hfil}}}}%
  \def\@oddfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3pt \fi
   \hbox to \textwidth{{\pnumfont\hfil\thepage}}}}%
%<*scrartcl>
  \def\sectionmark##1{%
   \markboth {\ifnum \c@secnumdepth >\z@%
    \thesection. \ \fi ##1}{}}
  \def\subsectionmark##1{%
   \markright {\ifnum \c@secnumdepth >\@ne%
    \thesubsection\ \ \fi ##1}}}
%</scrartcl>
%<*scrreprt|scrbook>
  \def\chaptermark##1{%
   \markboth {\ifnum \c@secnumdepth >\m@ne
%<scrbook>      \if@mainmatter
        \thechapter. \ \fi
%<scrbook>      \fi
        ##1}{}}%
  \def\sectionmark##1{%
    \markright {\ifnum \c@secnumdepth >\z@
        \thesection. \ \fi
        ##1}}}
%</scrreprt|scrbook>
 \def\ps@myheadings{\let\@mkboth\@gobbletwo
  \def\@evenhead{\vbox{\hsize=\textwidth
   \hbox to \textwidth{{\headfont\leftmark\hfil}}
   \if@hsl \vskip 1.5pt \hrule \fi}}%
  \def\@oddhead{\vbox{\hsize=\textwidth
   \hbox to \textwidth{{\headfont\hfil\rightmark}}
   \if@hsl \vskip 1.5pt \hrule \fi}}%
  \def\@evenfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3pt \fi
   \hbox to \textwidth{{\pnumfont\thepage\hfil}}}}%
  \def\@oddfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3pt \fi
   \hbox to \textwidth{{\pnumfont\hfil\thepage}}}}%
%<!scrartcl>  \def\chaptermark##1{}
%<scrartcl>  \def\subsectionmark##1{}
  \def\sectionmark##1{}}
%<*!scrbook>
\else
 \def\ps@plain{\let\@mkboth\@gobbletwo
  \def\@evenhead{}%
  \def\@oddhead{}%
  \def\@evenfoot{}%
  \def\@oddfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3pt \fi
   \hbox to \textwidth{{\pnumfont\hfil\thepage\hfil}}}}}
 \def\ps@headings{\let\@mkboth\markboth
  \def\@evenhead{}%
  \def\@oddhead{\vbox{\hsize=\textwidth
   \hbox to \textwidth{{\headfont\hfil\rightmark\hfil}}
   \if@hsl \vskip 1.5pt \hrule \fi}}%
  \def\@evenfoot{}%
  \def\@oddfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3pt \fi
   \hbox to \textwidth{{\pnumfont\hfil\thepage\hfil}}}}%
%<*scrartcl>
% \changes{v2.1b}{1994/12/31}{{\cmd\markboth} durch
%                             {\cmd\markright} ersetzt}
  \def\sectionmark##1{\markright {\ifnum \c@secnumdepth >\z@
      \thesection. \ \fi ##1}}}
%</scrartcl>
%    \end{macrocode}
% \changes{v2.0e}{1994/08/17}{{\cmd\markboth} durch
%                             {\cmd\markright} ersetzt}
%    \begin{macrocode}
%<*scrreprt>
  \def\chaptermark##1{\markright {\ifnum \c@secnumdepth >\m@ne
   \thechapter. \ \fi ##1}}}
%</scrreprt>
 \def\ps@myheadings{\let\@mkboth\@gobbletwo
  \def\@evenhead{}%
  \def\@oddhead{\vbox{\hsize=\textwidth
   \hbox to \textwidth{{\headfont\hfil\rightmark\hfil}}
   \if@hsl \vskip 1.5pt \hrule \fi}}%
  \def\@evenfoot{}%
  \def\@oddfoot{\vbox{\hsize=\textwidth
   \if@fsl \hrule \vskip 3pt \fi
   \hbox to \textwidth{{\pnumfont\hfil\thepage\hfil}}}}%
%<scrartcl>  \def\subsectionmark##1{}%
%<!scrartcl>  \def\chaptermark##1{}%
  \def\sectionmark##1{}}
\fi
%</!scrbook>
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \section{Titel}
%
%  \begin{macro}{\extratitle}
%  \begin{macro}{\titlehead}
%  \begin{macro}{\subject}
%  \begin{macro}{\publishers}
%  \begin{macro}{\uppertitleback}
%  \begin{macro}{\lowertitleback}
%  \begin{macro}{\dedication}
% Da der Titel im \textsf{KOMA-Script}-Paket wesentlich mehr
% Angaben erlaubt als bei den Standard-classes, gibt es nat"urlich
% auch einige Befehle, mit denen diese Angaben gesetzt werden k"onnen.
%
% Alle zus"atzlichen Angaben sind optional und k"onnen auch weggelassen
% werden. In diesem Fall werden Leerfelder verwendet.
%
%    \begin{macrocode}
\def\next@tpage{\newpage\thispagestyle{empty}\null}
\def\@extratitle{}
\long\def\extratitle#1{\def\@extratitle{#1}}
\def\@titlehead{}
\long\def\titlehead#1{\def\@titlehead{#1}}
\def\@subject{}
\newcommand\subject[1]{\def\@subject{#1}}
\def\@publishers{}
\newcommand\publishers[1]{\def\@publishers{#1}}
\def\@uppertitleback{}
\long\def\uppertitleback#1{\def\@uppertitleback{#1}}
\def\@lowertitleback{}
\long\def\lowertitleback#1{\def\@lowertitleback{#1}}
\def\@dedication{}
\newcommand\dedication[1]{\def\@dedication{#1}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \begin{macro}{\maketitle}
% Anschlie"send mu"s der Titel generiert werden.
% Bei |scrartcl| mu"s unterschieden werden, ob der Titel als
% Titelseite oder als Seitenkopf erstellt werden soll. Der
% \textsf{KOMA-Script}-Titel ist u.U. sehr gro"s. In diesem Fall
% sollte eigentlich immer eine Titelseite verwendet werden.
% \changes{v2.1a}{1994/10/29}{Das Hilfskonstrukt {\cmd\@maketitle}
%                             wurde aus der Unterscheidung
%                             herausgenommen. Dies ist f"ur
%                             den Fall, da"s {\cmd\maketitle}
%                             von einem package "uberladen wird}
%    \begin{macrocode}
\if@titlepage
    \newcommand\maketitle[1][1]{\begin{titlepage}%
    \setcounter{page}{#1}
    \let\footnotesize\small
    \let\footnoterule\relax
    \ifx\@extratitle\@empty \else
        \noindent\@extratitle \next@tpage \if@twoside \next@tpage \fi
    \fi
    \ifx\@titlehead\@empty \else
        \noindent\begin{minipage}[t]{\textwidth}
        \@titlehead
        \end{minipage}\par
    \fi
    \null \vfill
    \begin{center}
    \ifx\@subject\@empty \else
        {\Large \@subject \par}
        \vskip 3em
    \fi
    {\huge {\sectfont \@title \par}}
    \vskip 3em
    {\Large \lineskip 0.75em
    \begin{tabular}[t]{c}
        \@author
    \end{tabular}\par}
    \vskip 1.5em
    {\Large \@date \par}
    \vskip 0pt plus 3fill
    {\Large \@publishers \par}
    \vskip 3em
    \end{center}\par
    \@thanks
    \vfil\null
    \if@twoside\next@tpage
        \noindent\begin{minipage}[t]{\textwidth}
        \@uppertitleback
        \end{minipage}\par
        \vfill
        \noindent\begin{minipage}[b]{\textwidth}
        \@lowertitleback
        \end{minipage}
    \fi
    \ifx\@dedication\@empty \else
        \next@tpage \vfill
        {\centering \Large \@dedication \par}
        \vskip 0pt plus 3fill
        \if@twoside \next@tpage \fi
    \fi
    \end{titlepage}
    \setcounter{footnote}{0}%
    \let\thanks\relax\let\maketitle\relax%
    \gdef\@thanks{}\gdef\@author{}\gdef\@title{}%
    \gdef\@extratitle{}\gdef\@titlehead{}\gdef\@subject{}\gdef\@publishers{}%
    \gdef\@uppertitleback{}\gdef\@lowertitleback{}\gdef\@dedication{}}
\else
     \newcommand\maketitle{\par
       \begingroup
         \renewcommand\thefootnote{\fnsymbol{footnote}}%
         \def\@makefnmark{\hbox to\z@{$\m@th^{\@thefnmark}$\hss}}%
         \long\def\@makefntext##1{\parindent 1em\noindent
                 \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}%
         \if@twocolumn
           \ifnum \col@number=\@ne
             \@maketitle
           \else
             \twocolumn[\@maketitle]%
           \fi
         \else
           \newpage
           \global\@topnum\z@   % Prevents figures from going at top of page.
           \@maketitle
         \fi
         \thispagestyle{plain}\@thanks
       \endgroup
       \setcounter{footnote}{0}%
       \let\thanks\relax\let\maketitle\relax\let\@maketitle\relax%
       \gdef\@thanks{}\gdef\@author{}\gdef\@title{}%
         \gdef\@extratitle{}\gdef\@titlehead{}\gdef\@subject{}\gdef\@publishers{}%
         \gdef\@uppertitleback{}\gdef\@lowertitleback{}\gdef\@dedication{}}
\fi
\def\@maketitle{%
    \clearpage
    \ifx\@extratitle\@empty \else
        \noindent\@extratitle \next@tpage \if@twoside \next@tpage \fi
    \fi
    \ifx\@titlehead\@empty \else
        \noindent\begin{minipage}[t]{\textwidth}
        \@titlehead
        \end{minipage}\par
    \fi
    \null
    \vskip 2em%
    \begin{center}%
    \ifx\@subject\@empty \else
        {\Large \@subject \par}
        \vskip 1.5em
    \fi
    {\huge \@title \par}%
    \vskip 1.5em%
    {\Large
      \lineskip .5em%
      \begin{tabular}[t]{c}%
        \@author
      \end{tabular}\par}%
    \vskip 1em%
    {\Large \@date \par}%
    \vskip 0pt plus 1em
    {\Large \@publishers \par}
    \ifx\@dedication\@empty \else
        \vskip 2em
        {\Large \@dedication \par}
    \fi
  \end{center}%
  \par
  \vskip 2em}
%    \end{macrocode}
%  \end{macro}
%
% \section{Kapiteleinteilung}
%
%  \begin{macro}{\part}
%  \begin{macro}{\chapter}
%  \begin{macro}{\addchap}
%  \begin{macro}{\addsec}
%  \begin{macro}{\section}
%  \begin{macro}{\subsection}
%  \begin{macro}{\subsubsection}
%  \begin{macro}{\paragraph}
%  \begin{macro}{\subparagraph}
%  \begin{macro}{\minisec}
% Die Befehle und das Aussehen der Kapiteleinteilung wird definiert. Im
% Gegensatz zu den Standard-classes gibt es im \textsf{KOMA-Script}-Paket
% \emph{keine} Titel-W"orter in den Kapitel"uberschriften, gleich welcher Stufe.
%
% In |scrartcl| beginnt die erste Stufe mit |\section|, die letzte Stufe ist
% |\subparagraph|. In |scrreprt| und |scrbook| beginnt es mit |\chapter| und
% endet mit |\paragraph|. Dar"uber hinaus gibt es bei |scrartcl| noch den
% zus"atzlichen Befehl |\addsec|. In |scrreprt| und |scrbook| existiert statt
% dessen der analoge Befehl |\addchap|.
%
% Allen allen drei Haupt-classes gibt es den zus"atzlichen Einteilungsbefehl
% |\minisec|, der nur eine kleine "Uberschrift ohne Numerierung oder Aufnahme
% in Inhaltsverzeichnis oder Kopfzeile bietet.
%
% \changes{v2.0e}{1994/10/12}{Mehrfach {\cmd\markboth} durch
%                             {\cmd\sectionmark} ersetzt.}
%    \begin{macrocode}
%<!scrartcl>\newcommand\chaptermark[1]{}
\setcounter{secnumdepth}{2}
\newcounter {part}
%<!scrartcl>\newcounter {chapter}
%<scrartcl>\newcounter {section}
%<!scrartcl>\newcounter {section}[chapter]
\newcounter {subsection}[section]
\newcounter {subsubsection}[subsection]
\newcounter {paragraph}[subsubsection]
\newcounter {subparagraph}[paragraph]
\renewcommand\thepart          {\Roman{part}}
%<!scrartcl>\renewcommand\thechapter       {\arabic{chapter}}
%<!scrartcl>\renewcommand\thesection       {\thechapter.\arabic{section}}
%<scrartcl>\renewcommand\thesection       {\arabic{section}}
\renewcommand\thesubsection    {\thesection.\arabic{subsection}}
\renewcommand\thesubsubsection {\thesubsection .\arabic{subsubsection}}
\renewcommand\theparagraph     {\thesubsubsection.\arabic{paragraph}}
\renewcommand\thesubparagraph  {\theparagraph.\arabic{subparagraph}}
%<!scrartcl>\newcommand\@chapapp{\chaptername}
%<*scrartcl>
\newcommand\part{\par
   \addvspace{4ex}%
   \@afterindentfalse
   \secdef\@part\@spart}
%</scrartcl>
%<*scrbook>
\newif\if@mainmatter \@mainmattertrue
\newcommand\frontmatter{\cleardoublepage
            \@mainmatterfalse\pagenumbering{roman}}
\newcommand\mainmatter{\cleardoublepage
       \@mainmattertrue\pagenumbering{arabic}}
\newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi
      \@mainmatterfalse}
%</scrbook>
%<*scrreprt|scrbook>
\newcommand\part{\cleardoublepage
                 \thispagestyle{plain}%
                 \if@twocolumn
                     \onecolumn
                     \@tempswatrue
                   \else
                     \@tempswafalse
                 \fi
                 \hbox{}\vfil
                 \secdef\@part\@spart}
%</scrreprt|scrbook>
\def\@part[#1]#2{%
%<*scrartcl>
    \ifnum \c@secnumdepth >\m@ne
      \refstepcounter{part}%
      \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    {\parindent \z@ \raggedright
     \interlinepenalty \@M
     \reset@font
     \ifnum \c@secnumdepth >\m@ne
       \huge\sectfont \partname~\thepart
       \par\nobreak
     \fi
     \Huge \sectfont #2%
     markboth{}{}\par}%
     \nobreak
     \vskip 3ex
    \@afterheading}
%</scrartcl>
%<*scrreprt|scrbook>
    \ifnum \c@secnumdepth >-2\relax
      \refstepcounter{part}%
      \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    \chaptermark{}
    {\centering
     \interlinepenalty \@M
     \reset@font
     \ifnum \c@secnumdepth >-2\relax
       \huge\sectfont \partname~\thepart
       \par
       \vskip 20\p@
     \fi
     \Huge \sectfont #2\par}%
    \@endpart}
%</scrreprt|scrbook>
\def\@spart#1{%
%<*scrartcl>
    {\parindent \z@ \raggedright
     \interlinepenalty \@M
     \reset@font
     \Huge \sectfont #1\par}%
     \nobreak
     \vskip 3ex
    \@afterheading}
%</scrartcl>
%<*scrreprt|scrbook>
    {\centering
     \interlinepenalty \@M
     \reset@font
     \Huge \sectfont #1\par}%
    \@endpart}
%</scrreprt|scrbook>
\def\@endpart{\vfil\newpage
              \if@twoside
                \hbox{}%
                \thispagestyle{empty}%
                \newpage
              \fi
              \if@tempswa
                \twocolumn
              \fi}
%<*scrreprt|scrbook>
\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
                    \thispagestyle{plain}%
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
%<scrbook>                       \if@mainmatter
                         \refstepcounter{chapter}%
                         \typeout{\@chapapp\space\thechapter.}%
                         \addcontentsline{toc}{chapter}%
                                   {\protect\numberline{\thechapter}#1}%
%<scrbook>                       \else
%<scrbook>                         \addcontentsline{toc}{chapter}{#1}\fi
                    \else
                      \addcontentsline{toc}{chapter}{#1}
                    \fi
                    \chaptermark{#1}%
                    \addtocontents{lof}{\protect\addvspace{10\p@}}%
                    \addtocontents{lot}{\protect\addvspace{10\p@}}%
                    \if@twocolumn
                      \@topnewpage[\@makechapterhead{#2}]%
                    \else
                      \@makechapterhead{#2}%
                      \@afterheading
                    \fi}
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\Huge {\sectfont
    \@hangfrom{\ifnum \c@secnumdepth >\m@ne%
%<scrbook>                 \if@mainmatter \thechapter. \fi\fi}%
%<!scrbook>                  \thechapter. \fi}%
              {\raggedright \interlinepenalty \@M #1\par}}
    \nobreak
    \vskip 40\p@
  }}
\def\@schapter#1{\if@twocolumn
                   \@topnewpage[\@makeschapterhead{#1}]%
                 \else
                   \@makeschapterhead{#1}%
                   \@afterheading
                 \fi}
\def\@makeschapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright
    \reset@font
    \Huge \sectfont #1\par
    \nobreak
    \vskip 40\p@
  }}
%</scrreprt|scrbook>
%<*scrartcl>
\newcommand\addsec{\secdef\@addsec\@saddsec}
\def\@addsec[#1]#2{\addcontentsline{toc}{section}{#1}
 \if@twoside \sectionmark{#1}\else \markright{#1}\fi \section*{#2}}
\def\@saddsec#1{\section*{#1}\sectionmark{}}
%</scrartcl>
%<*scrreprt|scrbook>
%    \end{macrocode}
% \changes{v2.0e}{1994/08/10}{{\cmd\sectdef} durch {\cmd\secdef} ersetzt}
%    \begin{macrocode}
\newcommand\addchap{\if@openright\cleardoublepage\else\clearpage\fi
                    \thispagestyle{plain}%
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@addchap\@saddchap}
%    \end{macrocode}
% \changes{v2.0e}{1994/08/10}{{\cmd\addcontensline} durch
%                             {\cmd\addcontentsline} ersetzt}
% \changes{v2.0e}{1994/08/10}{{\cmd\chaptermark} durch
%                             {\cmd\markboth} ersetzt}
% \changes{v2.0e}{1994/10/12}{{\cmd\markboth} durch {\cmd\chaptermark}
%                             ersetzt}
% \changes{v2.0e}{1994/08/10}{{\cmd\@makechapterhead} durch
%                             {\cmd\@makeschapterhead} ersetzt}
% \changes{v2.0e}{1994/08/10}{{\cmd\afterheadings} durch
%                             {\cmd\@afterheading} ersetzt}
% \changes{v2.1a}{1994/10/29}{Argument von {\cmd\chaptermark} entfernt bei
%                             "`scrbook"'}
%    \begin{macrocode}
\def\@addchap[#1]#2{\typeout{#2}
                    \addcontentsline{toc}{chapter}{#1}%
                    \chaptermark{}%
                    \addtocontents{lof}{\protect\addvspace{10\p@}}%
                    \addtocontents{lot}{\protect\addvspace{10\p@}}%
                    \if@twocolumn
                         \@topnewpage[\@makeschapterhead{#2}]%
                    \else
                         \@makeschapterhead{#2}%
                         \@afterheading
                    \fi}
\def\@saddchap#1{%
                 \chaptermark{}%
                 \if@twocolumn
                      \@topnewpage[\@makeschapterhead{#1}]%
                 \else
                      \@makeschapterhead{#1}%
                      \@afterheading
                 \fi}
%</scrreprt|scrbook>
\newcommand\section{\@startsection {section}{1}{\z@}%
                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
                                   {2.3ex \@plus.2ex}%
                                   {\reset@font\Large\sectfont}}
\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
                                     {-3.25ex\@plus -1ex \@minus -.2ex}%
                                     {1.5ex \@plus .2ex}%
                                     {\reset@font\large\sectfont}}
\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
                                     {-3.25ex\@plus -1ex \@minus -.2ex}%
                                     {1.5ex \@plus .2ex}%
                                     {\reset@font\normalsize\sectfont}}
\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
                                    {3.25ex \@plus1ex \@minus.2ex}%
                                    {-1em}%
                                    {\reset@font\normalsize\sectfont}}
\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
                                       {3.25ex \@plus1ex \@minus .2ex}%
                                       {-1em}%
                                       {\reset@font\normalsize\sectfont}}
\newcommand\minisec[1]{\@afterindentfalse \vskip 1.5ex
                       {\parindent 0pt \raggedright \sectfont #1\par\nobreak}%
                       \@afterheading}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \section{Listen-Umgebungen}
%
% \subsection{R"ander}
%
% F"ur die Listenumgebungen in verschiedenen Stufen m"ussen R"ander
% definiert werden.
%    \begin{macrocode}
\if@twocolumn
  \setlength\leftmargini  {2em}
\else
  \setlength\leftmargini  {2.5em}
\fi
\setlength\leftmarginii  {2.2em}
\setlength\leftmarginiii {1.87em}
\setlength\leftmarginiv  {1.7em}
\if@twocolumn
  \setlength\leftmarginv  {.5em}
  \setlength\leftmarginvi {.5em}
\else
  \setlength\leftmarginv  {1em}
  \setlength\leftmarginvi {1em}
\fi
\setlength\leftmargin    {\leftmargini}
\setlength  \labelsep  {.5em}
\setlength  \labelwidth{\leftmargini}
\addtolength\labelwidth{-\labelsep}
\@beginparpenalty -\@lowpenalty
\@endparpenalty   -\@lowpenalty
\@itempenalty     -\@lowpenalty
%    \end{macrocode}
%
% \subsection{Marken}
%
% F"ur die numerierten Listenumgebungen m"ussen Marken bzw. Numerierungen
% festgelegt werden.
%    \begin{macrocode}
\renewcommand\theenumi{\arabic{enumi}}
\renewcommand\theenumii{\alph{enumii}}
\renewcommand\theenumiii{\roman{enumiii}}
\renewcommand\theenumiv{\Alph{enumiv}}
\newcommand\labelenumi{\theenumi.}
\newcommand\labelenumii{(\theenumii)}
\newcommand\labelenumiii{\theenumiii.}
\newcommand\labelenumiv{\theenumiv.}
\renewcommand\p@enumii{\theenumi}
\renewcommand\p@enumiii{\theenumi(\theenumii)}
\renewcommand\p@enumiv{\p@enumiii\theenumiii}
\newcommand\labelitemi{$\m@th\bullet$}
\newcommand\labelitemii{\normalfont\bfseries --}
\newcommand\labelitemiii{$\m@th\triangleright$}
\newcommand\labelitemiv{$\m@th\cdot$}
%    \end{macrocode}
%
% \subsection{Definition der Umgebungen}
%
%  \begin{environment}{description}
% Die |description|-Umgebung dient der Beschreibung von einzelnen
% Begriffen. Der Begriff aus dem optionalen Argument des |\item|-Befehls
% wird in einem speziellen Font, dem |descfont|, gesetzte.
%    \begin{macrocode}
\newenvironment{description}
               {\list{}{\labelwidth\z@ \itemindent-\leftmargin
                        \let\makelabel\descriptionlabel}}
               {\endlist}
\newcommand\descriptionlabel[1]{\hspace\labelsep
                                \descfont #1}
%    \end{macrocode}
%  \end{environment}
%
%  \begin{environment}{labeling}
% Die |labeling|-Umgebung ist eine Erweiterung des \textsf{Script}-Pakets.
% Sie erwartet ein optionales und ein normales Argument. Das optionale
% Argument beschreibt einen speziellen Tenntext zwischen |\item|-Marke und
% |\item|-Beschreibung. Das eigentliche Argument wird f"ur die Ermittlung
% der Einr"uckung des Beschreibungstextes bzw. des Trenntextes ben"otigt.
%    \begin{macrocode}
\newenvironment{labeling}[2][]
               {\def\sc@septext{#1}
                \list{}{\settowidth{\labelwidth}{#2#1}
                        \leftmargin\labelwidth \advance\leftmargin by \labelsep
                        \let\makelabel\labelinglabel}}
               {\endlist}
\newcommand\labelinglabel[1]{#1\hfil\sc@septext}
%    \end{macrocode}
%  \end{environment}
%
% \changes{v2.1a}{1994/10/29}{"`Abstract"' verschoben}
%  \begin{environment}{verse}
% Die Verse-Umgebung ist f"ur soetwas wie Zitate in Gedichtform gedacht.
%    \begin{macrocode}
\newenvironment{verse}
               {\let\\=\@centercr
                \list{}{\itemsep      \z@
                        \itemindent   -1.5em%
                        \listparindent\itemindent
                        \rightmargin  \leftmargin
                        \advance\leftmargin 1.5em}%
                \item[]}
               {\endlist}
%    \end{macrocode}
%  \end{environment}
%
%  \begin{environment}{quotation}
%  \begin{environment}{quote}
% Die |quotation|- und die |quote|-Umgebung erlauben rechts und links
% einger"uckte Passagen. Abs"atze werden entweder in der ersten Zeile
% zus"atzlich einger"uckt oder durch vertikalen Abstand markiert.
%    \begin{macrocode}
\newenvironment{quotation}
               {\list{}{\listparindent 1em%
                        \itemindent    \listparindent
                        \rightmargin   \leftmargin
                        \parsep        \z@ \@plus\p@}%
                \item[]}
               {\endlist}
\newenvironment{quote}
               {\list{}{\rightmargin\leftmargin}%
                \item[]}
               {\endlist}
%    \end{macrocode}
%  \end{environment}
%  \end{environment}
%
% \section{Abstract (Zusammenfassung)}
%  \begin{environment}{abstract}
% |scrartcl| und |scrreprt| bieten die M"oglichkeit einer Zusammenfassung,
% eines sogenannten Abstracts. Wenn eine getrennte Titelseite verlangt wurde,
% wird auch die Zusammenfassung auf eine eigenen Seite gesetzt.
%
% |scrbook| kennt kein Abstract.
%    \begin{macrocode}
%<*!scrbook>
\if@titlepage
 \newenvironment{abstract}{%
     \titlepage
     \null\vfil
     \if@abstrt
     \begin{center}
       \sectfont \abstractname
     \end{center}\fi}
    {\par\vfil\null\endtitlepage}
\else
 \newenvironment{abstract}{%
     \if@twocolumn\if@abstrt
       \section*{\abstractname}\fi%
     \else
       \if@abstrt
       \small
       \begin{center}%
         {\sectfont \abstractname\vspace{-.5em}\vspace{\z@}}%
       \end{center}\fi%
       \quotation
     \fi}
     {\if@twocolumn\else\endquotation\fi}
\fi
%</!scrbook>
%    \end{macrocode}
%  \end{environment}
%
% \section{Umgebung f"ur die Titelseite}
%
%  \begin{environment}{titlepage}
% Die Titelseite bedarf ebenfalls einer gesonderter Umgebung. Beim
% zweispaltigen Layout soll die Titelseite z.B. einspaltig gedruckt werden.
%    \begin{macrocode}
\newenvironment{titlepage}
    {%
%<!scrartcl>      \cleardoublepage
      \if@twocolumn
        \@restonecoltrue\onecolumn
      \else
        \@restonecolfalse\newpage
      \fi
      \thispagestyle{empty}%
      \if@compatibility
        \setcounter{page}{0}
      \fi}%
    {\if@restonecol\twocolumn \else \newpage \fi
    }
%    \end{macrocode}
%  \end{environment}
%
% \section{Randmarkierung}
%  \begin{macro}{\marginline}
% Im \textsf{Script}-Paket gibt es die zus"atzliche Randzeile, die je nach
% gerader oder ungerader Seite in doppelseitigen Layout rechts- oder
% linksb"undig gesetzt werden mu"s.
%    \begin{macrocode}
\newcommand\marginline[1]{\marginpar%
  {\if@twoside \ifodd\c@page \raggedright \else \raggedleft \fi
   \else \raggedright \fi #1}}
%    \end{macrocode}
%  \end{macro}
%
% \section{Anhang}
%  \begin{macro}{\appendix}
% Wird der Anhang aktiviert, so werden Kapitel zuk"unftig mit Buchstaben
% "`numeriert"'.
%    \begin{macrocode}
\newcommand\appendix{\par
%<*scrartcl>
  \setcounter{chapter}{0}%
  \setcounter{section}{0}%
  \setcounter{subsection}{0}%
  \renewcommand\thesection{\Alph{section}}}
%</scrartcl>
%<*scrreprt|scrbook>
  \setcounter{chapter}{0}%
  \setcounter{section}{0}%
  \renewcommand\@chapapp{\appendixname}%
  \renewcommand\thechapter{\Alph{chapter}}}
%</scrreprt|scrbook>
%    \end{macrocode}
%  \end{macro}
%
% \section{Flie"sumgebungen}
%
% F"ur die Flie"sumgebungen m"ussen verschiedene Konstanten definiert werden,
% die Aufteilung zwischen Text und Flie"sumgebung und "ahnliches regeln.
%
%  \begin{environment}{figure}
% Zun"achst werden "`figures"', also Abbildungen behandelt.
%    \begin{macrocode}
\setlength\arraycolsep{5\p@}
\setlength\tabcolsep{6\p@}
\setlength\arrayrulewidth{.4\p@}
\setlength\doublerulesep{2\p@}
\setlength\tabbingsep{\labelsep}
\skip\@mpfootins = \skip\footins
\setlength\fboxsep{3\p@}
\setlength\fboxrule{.4\p@}
%<!scrartcl>\@addtoreset{equation}{chapter}
\renewcommand\theequation{%
%<!scrartcl>                          \thechapter.%
                          \arabic{equation}}
%<!scrartcl>\newcounter{figure}[chapter]
%<scrartcl>\newcounter{figure}
\renewcommand\thefigure{%
%<!scrartcl>                        \thechapter.%
                        \@arabic\c@figure}
\def\fps@figure{tbp}
\def\ftype@figure{1}
\def\ext@figure{lof}
\def\fnum@figure{\figurename~\thefigure}
\newenvironment{figure}
               {\@float{figure}}
               {\end@float}
\newenvironment{figure*}
               {\@dblfloat{figure}}
               {\end@dblfloat}
%    \end{macrocode}
%  \end{environment}
%
%  \begin{environment}{table}
% Auch verschiebbare Tabellen sind m"oglich:
%    \begin{macrocode}
%<scrartcl>\newcounter{table}
%<!scrartcl>\newcounter{table}[chapter]
\renewcommand\thetable{%
%<!scrartcl>                       \thechapter.%
                       \@arabic\c@table}
\def\fps@table{tbp}
\def\ftype@table{2}
\def\ext@table{lot}
\def\fnum@table{\tablename~\thetable}
\newenvironment{table}
               {\@float{table}}
               {\end@float}
\newenvironment{table*}
               {\@dblfloat{table}}
               {\end@dblfloat}
%    \end{macrocode}
%  \end{environment}
%
% Es ist m"oglich die Flie"sumgebungen mit einem Titel und einer Beschreibung
% zu versehen:
%    \begin{macrocode}
\newlength\abovecaptionskip
\newlength\belowcaptionskip
\setlength\abovecaptionskip{10\p@}
\setlength\belowcaptionskip{0\p@}
\long\def\@makecaption#1#2{%
  \vskip\abovecaptionskip
  \setbox\@tempboxa\hbox{{\caplabelfont #1:\ \capfont #2}}%
  \ifdim \wd\@tempboxa >\hsize
    \@hangfrom{{\caplabelfont #1:\ }}{\capfont #2\par}
  \else
    \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\belowcaptionskip}
%    \end{macrocode}
%
% \section{"`Alte"' Font-Auswahlbefehle}
%
%  \begin{macro}{\rm}
%  \begin{macro}{\sf}
%  \begin{macro}{\tt}
%  \begin{macro}{\bf}
%  \begin{macro}{\it}
%  \begin{macro}{\sl}
%  \begin{macro}{\sc}
%  \begin{macro}{\sfb}
% Um die Umstellung von \LaTeX\ auf \LaTeXe\ zu erleichtern, gibt es
% die alten Font-Auswahlbefehle |\rm|, |\sf|, |\tt|, |\bf|, |\it|, |\sl|
% und |\sc| auch in den \emph{classes}. Es ist zu beachten, da"s diese
% Befehle hier nach dem alten Fontauswahlverfahren arbeiten. Es werden
% also immer alle Parameter zugleich ge"andert. Somit ist zu empfehlen,
% da"s statt dieser Befehle zuk"unftig in der Regel die neuen
% |\text..|-Befehle verwendet werden.
%
% Der aus der \textsf{Script 2.0}-Familie bekannte Befehl |\sfb| ist hier
% ebenfalls definiert. Im Kompatibilit"atsmodus arbeitet er aber bewu"st
% anders!
%    \begin{macrocode}
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\if@compatibility               % mk 941012
    \newcommand\sfb{\sf\bf}     % schlimme Kruecke
\else                           %
    \DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{\mathbf} %
\fi                             %
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \section{Font-Variablen}
%  \begin{macro}{\descfont}
%  \begin{macro}{\sectfont}
%  \begin{macro}{\headfont}
%  \begin{macro}{\capfont}
%  \begin{macro}{\caplabelfont}
% Es gibt im \textsf{Script}-Paklet einige Font-Variablen, f"ur
% verschiedene Bereiche. Diese werden einfach definiert.
%    \begin{macrocode}
\newcommand\descfont{\sffamily\bfseries}
\newcommand\sectfont{\sffamily\bfseries}
\newcommand\pnumfont{\normalfont}
\newcommand\headfont{\slshape}
\newcommand\capfont{\normalfont}
\newcommand\caplabelfont{\normalfont}
\renewcommand{\cal}{\protect\pcal}
\newcommand{\pcal}{\@fontswitch{\relax}{\mathcal}}
\renewcommand{\mit}{\protect\pmit}
\newcommand{\pmit}{\@fontswitch{\relax}{\mathnormal}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \section{Inhaltverzeichnis}
%
%  \begin{macro}{\tableofcontents}
% F"ur das Inhaltsverzeichnis m"ussen die Eintr"age f"ur die
% unterschiedlichen Kapiteleinteilungen definiert werden.
%    \begin{macrocode}
\newcommand\@pnumwidth{1.55em}
\newcommand\@tocrmarg {2.55em}
\newcommand\@dotsep{4.5}
\setcounter{tocdepth}{2}
\newcommand\tableofcontents{%
%<*scrartcl>
    \section*{\contentsname
        \@mkboth{\contentsname}{\contentsname}}%
    \@starttoc{toc}%
%</scrartcl>
%<*scrreprt|scrbook>
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\contentsname
        \@mkboth{\contentsname}{\contentsname}}%
    \@starttoc{toc}%
    \if@restonecol\twocolumn\fi
%</scrreprt|scrbook>
    }
\newcommand\l@part[2]{%
  \ifnum \c@tocdepth >-2\relax
%<scrartcl>    \addpenalty{\@secpenalty}%
%<!scrartcl>    \addpenalty{-\@highpenalty}%
    \addvspace{2.25em \@plus\p@}%
    \begingroup
      \setlength\@tempdima{3em}%
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      {\leavevmode
       \large \sectfont #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
       \nobreak
%<scrartcl>       \if@compatibility
         \global\@nobreaktrue
         \everypar{\global\@nobreakfalse\everypar{}}
%<scrartcl>       \fi
    \endgroup
  \fi}
%<*scrartcl>
\newcommand\l@section[2]{%
  \ifnum \c@tocdepth >\z@
    \addpenalty{\@secpenalty}%
    \addvspace{1.0em \@plus\p@}%
    \setlength\@tempdima{1.5em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \sectfont
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par
    \endgroup
  \fi}
%</scrartcl>
%<*scrreprt|scrbook>
\newcommand\l@chapter[2]{%
  \ifnum \c@tocdepth >\m@ne
    \addpenalty{-\@highpenalty}%
    \vskip 1.0em \@plus\p@
    \setlength\@tempdima{1.5em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \sectfont
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par
      \penalty\@highpenalty
    \endgroup
  \fi}
\newcommand\l@section      {\@dottedtocline{1}{1.5em}{2.3em}}
%</scrreprt|scrbook>
%<*scrartcl>
\newcommand\l@subsection   {\@dottedtocline{2}{1.5em}{2.3em}}
\newcommand\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
\newcommand\l@paragraph    {\@dottedtocline{4}{7.0em}{4.1em}}
\newcommand\l@subparagraph {\@dottedtocline{5}{10em}{5em}}
%</scrartcl>
%<*scrreprt|scrbook>
\newcommand\l@subsection   {\@dottedtocline{2}{3.8em}{3.2em}}
\newcommand\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
\newcommand\l@paragraph    {\@dottedtocline{4}{10em}{5em}}
\newcommand\l@subparagraph {\@dottedtocline{5}{12em}{6em}}
%</scrreprt|scrbook>
\newcommand\listoffigures{%
%<*scrartcl>
    \section*{\listfigurename
      \@mkboth{\listfigurename}%
              {\listfigurename}}%
    \@starttoc{lof}%
%</scrartcl>
%<*scrreprt|scrbook>
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\listfigurename
      \@mkboth{\listfigurename}%
              {\listfigurename}}%
    \@starttoc{lof}%
    \if@restonecol\twocolumn\fi
%</scrreprt|scrbook>
    }
\newcommand\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
\newcommand\listoftables{%
%<*scrartcl>
    \section*{\listtablename
      \@mkboth{\listtablename}{\listtablename}}%
    \@starttoc{lot}%
%</scrartcl>
%<*scrreprt|scrbook>
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\listtablename
      \@mkboth{\listtablename}{\listtablename}}%
    \@starttoc{lot}%
    \if@restonecol\twocolumn\fi
%</scrreprt|scrbook>
    }
\let\l@table\l@figure
%    \end{macrocode}
%  \end{macro}
%
% \section{Das Literaturverzeichnis}
%
%  \begin{environment}{thebibliography}
%  \begin{macro}{\bibitem}
% Nun wird noch die Umgebung f"ur das Literaturverzeichnis und der Befehl
% f"ur die einzelnen Eintr"age definiert.
%    \begin{macrocode}
\newdimen\bibindent
\bibindent=1.5em
\newenvironment{thebibliography}[1]
%<scrartcl>     {\section*{\bibname
%<!scrartcl>     {\chapter*{\bibname
%<scrartcl>        \@mkboth{\bibname}{\refname}}%
%<!scrartcl>        \@mkboth{\bibname}{\bibname}}%
      \list{\@biblabel{\arabic{enumiv}}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \if@openbib
              \advance\leftmargin\bibindent
              \itemindent -\bibindent
              \listparindent \itemindent
              \parsep \z@
            \fi
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\arabic{enumiv}}}%
      \if@openbib
        \renewcommand\newblock{\par}
      \else
        \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
      \fi
      \sloppy\clubpenalty4000\widowpenalty4000%
      \sfcode`\.=\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}
\newcommand\newblock{}
%    \end{macrocode}
%  \end{macro}
%  \end{environment}
%
% \section{Index}
%  \begin{environment}{theindex}
% Ein Index ist ebenfalls m"oglich. Dieser ist wie "ublich definiert.
%    \begin{macrocode}
\newenvironment{theindex}
               {\if@twocolumn
                  \@restonecolfalse
                \else
                  \@restonecoltrue
                \fi
                \columnseprule \z@
                \columnsep 35\p@
%<scrartcl>                \twocolumn[\section*{\indexname}]%
%<!scrartcl>                \twocolumn[\@makeschapterhead{\indexname}]%
                \@mkboth{\indexname}%
                        {\indexname}%
                \thispagestyle{plain}\parindent\z@
                \parskip\z@ \@plus .3\p@\relax
                \let\item\@idxitem}
               {\if@restonecol\onecolumn\else\clearpage\fi}
\newcommand\@idxitem  {\par\hangindent 40\p@}
\newcommand\subitem   {\par\hangindent 40\p@ \hspace*{20\p@}}
\newcommand\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}}
\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
%    \end{macrocode}
%  \end{environment}
%
% \section{Fu"snoten}
%
% Fu"snoten sind etwas abweichend definiert.
%    \begin{macrocode}
\renewcommand\footnoterule{%
  \kern-3\p@
  \hrule width .4\columnwidth
  \kern 2.6\p@}
%<!scrartcl>\@addtoreset{footnote}{chapter}
\newdimen\sc@temp
\long\def\@makefntext#1{%
  \noindent \sc@temp\columnwidth%
  \advance\sc@temp by -1.5em%
  \hbox to 1em{\hss$^{\@thefnmark}$}\hskip .5em%
  \parbox[t]{\sc@temp}{\parindent 0pt\parskip 0pt\hskip -.5em #1}}
%    \end{macrocode}
%
% \section{Standardbezeichnungen}
%
% Diese werden von |german.sty| ohnehin "uberschrieben.
%    \begin{macrocode}
\newcommand\contentsname{Contents}
\newcommand\listfigurename{List of Figures}
\newcommand\listtablename{List of Tables}
%<scrartcl>\newcommand\refname{References}
%<!scrartcl>\newcommand\bibname{Bibliography}
\newcommand\indexname{Index}
\newcommand\figurename{Figure}
\newcommand\tablename{Table}
\newcommand\partname{Part}
%<!scrartcl>\newcommand\chaptername{Chapter}
\newcommand\appendixname{Appendix}
\newcommand\abstractname{Abstract}
\newcommand\today{\ifcase\month\or
  January\or February\or March\or April\or May\or June\or
  July\or August\or September\or October\or November\or December\fi
  \space\number\day, \number\year}
%    \end{macrocode}
%
% \section{Grundeinstellungen}
%
%    \begin{macrocode}
\setlength\columnsep{10\p@}
\setlength\columnseprule{0\p@}
%<!scrbook>\pagestyle{plain}
%<scrbook>\pagestyle{headings}
\pagenumbering{arabic}      % Arabic page numbers
%<*!scrbook>
\if@twoside
\else
     \raggedbottom
\fi
%</!scrbook>
\if@twocolumn
  \twocolumn
  \sloppy
  \flushbottom
\else
  \onecolumn
\fi
%    \end{macrocode}
%
% \section{Das Ende}
%
%    \begin{macrocode}
%</scrartcl|scrreprt|scrbook>
%    \end{macrocode}
%
% \part{"`scrlettr"'-class}
%
% \chapter{Implementierung}
%
%    \begin{macrocode}
%<*scrlettr>
%    \end{macrocode}
%
% \changes{v2.0}{1993/12/01}{Letzte "`script\_l"'-\LaTeX~2.0-Version
%                            von Frank Neukam}
% \changes{v2.0-2e}{1994/10/08}{"`script\_l"'-\LaTeXe-Version
%                               von Axel Kielhorn}
% \changes{v2.0e}{1994/10/12}{Erste "`scrlettr"'-Version im
%                             \textsf{KOMA-Script}-Paket}
% Die Implementierung von |scrlettr| stammt im wesentlichen von Frank Neukam.
% Axel Kielhorn hat sie nach \LaTeXe portiert. Markus Kohm hat nur einige
% wenige, unwesentliche "Anderungen vorgenommen.
%
% \section{Optionen}
%
%    \begin{macrocode}
\newcommand\@ptsize{}
\newif\if@bigloc
%    \end{macrocode}
%
% \subsection{Standardoptionen}
%
% \changes{v2.1a}{1994/10/29}{Meldung bei \texttt{twoside}-Option in
%                             "`scrlettr"' ge"andert}
%    \begin{macrocode}
\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue%
    \ClassWarningNoLine{scrlettr}{This is no twoside-layout but openright!}
}
\DeclareOption{draft}{\overfullrule 5pt}
\DeclareOption{final}{\setlength\overfullrule{0pt}}
%    \end{macrocode}
%
% \subsection{Optionen f"ur das Adre"sfenster}
%
% Mit Hilfe der Optione |wlocfield| kann der Platz neben dem Adre"sfeld
% vergr"o"sert werden. Mit |slocfield| wird der normale, kleine Platz
% verwendet.
%
%    \begin{macrocode}
\DeclareOption{wlocfield}{\@bigloctrue}
\DeclareOption{slocfield}{\@biglocfalse}
%    \end{macrocode}
%
% \subsection{Optionenwahl}
%
% Standard sind bei |scrlettr| die Optionen |12pt|, |oneside|, |final| und
% |slocfield|. Diese k"onnen durch explizite Optionsangabe "uberschrieben
% werden.
%    \begin{macrocode}
\ExecuteOptions{12pt,oneside,final,slocfield}
\ProcessOptions
\input{size1\@ptsize.clo}
%    \end{macrocode}
%
% \section{"`Alte"' Fontauswahlbefehle}
%
%  \begin{macro}{\rm}
%  \begin{macro}{\sf}
%  \begin{macro}{\tt}
%  \begin{macro}{\bf}
%  \begin{macro}{\it}
%  \begin{macro}{\sl}
%  \begin{macro}{\sc}
%  \begin{macro}{\sfb}
% Die alten Font-Auswahlbefehle werden zwar noch unterst"utzt, sollten
% aber in der Regel nicht mehr verwendet werden, da sie nach dem alten
% Fontauswahlverfahren arbeiten. Im Kompatibilit"atsmodus wurde dies
% beim nicht standardgem"a"sen Befehl |\sfb| noch verst"arkt.
%    \begin{macrocode}
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\if@compatibility               % mk 941012
    \newcommand\sfb{\sf\bf}     % schlimme Kruecke
\else                           %
    \DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{\mathbf} %
\fi                             %
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \section{Font-Variablen}
%
%  \begin{macro}{\descfont}
%  \begin{macro}{\sectfont}
%  \begin{macro}{\pnumfont}
%  \begin{macro}{\headfont}
%  \begin{macro}{\capfont}
%  \begin{macro}{\caplabelfont}
% Auch in der |scrlettr|-class werden verschiedene Font-Variablen verwendet.
% Lediglich |sectfont| wird nicht ben"otigt und ist daher ausgeblendet.
%    \begin{macrocode}
\newcommand\descfont{\sffamily\bfseries}
%<!scrlettr>\newcommand\sectfont{\sffamily\bfseries}
\newcommand\pnumfont{\normalfont}
\newcommand\headfont{\slshape}
\newcommand\capfont{\normalfont}
\newcommand\caplabelfont{\normalfont}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \section{Standard-Labels}
%
%  \begin{macro}{\captionsenglish}
%  \begin{macro}{\captionsUSenglish}
%  \begin{macro}{\captionsgerman}
%  \begin{macro}{\captionsaustrian}
%  \begin{macro}{\captionsfrench}
% Bei |scrlettr| gibt es eine gro"se Anzahl von Label-Variablen, die es
% in den Standard-classes nicht gibt, die also auch nicht in
% Sprachanpassungen wie |german.sty| oder |german3.sty| vorhanden sind.
% Deshalb ist es notwendig diese Labels hier neu zu definieren. Weil es
% in fr"uheren Versionen zu Problemen damit gekommen ist, werden diese
% jedoch erst bei |\begin{document}| definiert. Sollen sie nachtr"aglich
% ge"andert werden, mu"s dies \emph{nach} |\begin{document}| geschehen.
%
%    \begin{macrocode}
\AtBeginDocument{
 \def\captionsenglish{%
  \def\yourrefname{Your ref.}
  \def\yourmailname{Your letter of}
  \def\myrefname{Our ref.}
  \def\customername{Customer no.}
  \def\invoicename{Invoice no.}
  \def\subjectname{Subject}
  \def\ccname{cc}
  \def\enclname{encl}
  \def\headtoname{To}
  \def\datename{Date}
  \def\pagename{Page}}
 \let\captionsUSenglish=\captionsenglish
 \def\captionsgerman{%
  \def\yourrefname{Ihr Zeichen}
  \def\yourmailname{Ihr Schreiben vom}
  \def\myrefname{Unser Zeichen}
  \def\customername{Kundennummer}
  \def\invoicename{Rechnungsnummer}
  \def\subjectname{}
  \def\ccname{Kopien an}
  \def\enclname{Anlagen}
  \def\headtoname{An}
  \def\datename{Datum}
  \def\pagename{Seite}}
 \let\captionsaustrian=\captionsgerman
 \def\captionsfrench{%
  \def\yourrefname{Vos r\'ef\'erences}
  \def\yourmailname{Votre lettre du}
  \def\myrefname{Nos r\'ef\'erences}
  \def\customername{Num\'ero de client}
  \def\invoicename{Num\'ero de facture}
  \def\subjectname{Concernant}
  \def\ccname{Copie \`a}
  \def\enclname{Annexes}
  \def\headtoname{A}
  \def\datename{Date}
  \def\pagename{Page}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\dateenglish}
%  \begin{macro}{\dateUSenglish}
%  \begin{macro}{\dategerman}
%  \begin{macro}{\dateaustrian}
%  \begin{macro}{\datefrench}
% Dar"ufer hinaus ist auch das Datumsformat sprachabh"angig. Dies wird
% hier ebenfalls geachtet.
%    \begin{macrocode}
 \def\dateenglish{\def\today{\number\day/\number\month/\number\year}}
 \def\dateUSenglish{\def\today{\number\month/\number\day/\number\year}}
 \def\dategerman{\def\today{\number\day.\,\number\month.\,\number\year}}
 \let\dateaustrian=\dategerman
 \let\datefrench=\dategerman
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
% Zum Schlu"s findet noch die eigentliche Auswahl statt. Diese orientiert
% sich derzeit an den Sprachnummern (0 = US-Englisch, 1 = Deutsch,
% 2 = Franz"osisch).
%    \begin{macrocode}
 \ifcase\language
  \captionsUSenglish
  \dateUSenglish
 \or
  \captionsgerman
  \dategerman
 \or
  \captionsfrench
  \datefrench
 \fi}
%    \end{macrocode}
%
% \section{Seitenspiegel}
%
% |scrlettr| arbeitet mit einem festen Seitenspiegel, der f"ur Briefe
% im A4-Format ausgelegt ist.
%
%    \begin{macrocode}
\oddsidemargin  0in
\evensidemargin 0in
\marginparwidth 0.9in
\marginparsep   0.1in
\marginparpush  0.45\baselineskip
\topmargin      -19mm % mk 941012, was: -15.5mm
\headheight     22mm
\headsep        8mm   % mk 941012, was: 9mm
\footskip       25mm  % mk 941012, was: 30mm
\textheight     217mm
\textwidth      159.2mm

\parskip        0.5\baselineskip % mk 941012
\parindent      0pt
\smallskipamount=0.5\parskip
\medskipamount  =\parskip
\bigskipamount  =2\parskip
\footnotesep    0.8\baselineskip
\skip\footins   0.75\baselineskip plus 2pt minus 4pt
\skip\@mpfootins =\skip\footins
\columnsep      1cc
\columnseprule  0pt

%    \end{macrocode}
%
% \section{Flie"sumgebungen}
%
% Es folgen die Einstellungen f"ur Abbildungen
%    \begin{macrocode}
\floatsep       1\baselineskip plus 2pt minus 2pt
\textfloatsep   20pt plus 2pt minus 4pt
\intextsep      1\baselineskip plus 2pt minus 2pt
\dblfloatsep    1\baselineskip plus 2pt minus 2pt
\dbltextfloatsep 20pt plus 2pt minus 4pt
\@fptop 0pt plus 1fil
\@fpsep 0.7\baselineskip plus 2fil
\@fpbot 0pt plus 1fil
\@dblfptop 0pt plus 1fil
\@dblfpsep 0.7\baselineskip plus 2fil
\@dblfpbot 0pt plus 1fil
%    \end{macrocode}
% und f"ur Flie"stabellen
%    \begin{macrocode}
\arraycolsep    5pt
\tabcolsep      6pt
\arrayrulewidth 0.4pt
\doublerulesep  2pt
\fboxsep        3pt
\fboxrule       0.4pt
\tabbingsep \labelsep
%    \end{macrocode}
%
% \section{Listen-Umgebungen}
%
% Die Einstellungen f"ur Listenumgebungen entsprechen im Wesentlichen
% den gewohnten.
%    \begin{macrocode}
\topsep         0.25\baselineskip
\partopsep      0pt
\itemsep        0.25\baselineskip
\parsep         0.25\baselineskip % ak: 1\baselineskip
\labelsep       .5em
\leftmargini    2.5em
\leftmarginii   2.2em
\leftmarginiii  1.87em
\leftmarginiv   1.7em
\leftmarginv    1em
\leftmarginvi   1em
\leftmargin\leftmargini
\labelwidth\leftmargini
\advance\labelwidth-\labelsep
\def\@listI{\leftmargin\leftmargini}
\let\@listi\@listI
\def\@listii{\leftmargin\leftmarginii
 \labelwidth\leftmarginii\advance\labelwidth-\labelsep}
\def\@listiii{\leftmargin\leftmarginiii
 \labelwidth\leftmarginiii\advance\labelwidth-\labelsep}
\def\@listiv{\leftmargin\leftmarginiv
 \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
\def\@listv{\leftmargin\leftmarginv
 \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
\def\@listvi{\leftmargin\leftmarginvi
 \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
\@listi

\@lowpenalty    51
\@medpenalty    151
\@highpenalty   301
\@beginparpenalty -\@lowpenalty
\@endparpenalty -\@lowpenalty
\@itempenalty   -\@lowpenalty

\def\theenumi{\arabic{enumi}}
\def\theenumii{\alph{enumii}}
\def\theenumiii{\roman{enumiii}}
\def\theenumiv{\Alph{enumiv}}
\def\labelenumi{\theenumi.}
\def\labelenumii{\theenumii)}
\def\labelenumiii{\theenumiii.}
\def\labelenumiv{\theenumiv.}
\def\p@enumii{\theenumi}
\def\p@enumiii{\theenumi\theenumii)}
\def\p@enumiv{\p@enumiii\theenumiii}
\def\labelitemi{$\bullet$}
\def\labelitemii{\bf --}
\def\labelitemiii{$\triangleright$}
\def\labelitemiv{$\cdot$}
%    \end{macrocode}
%
% Es sind alle im \textsf{KOMA-Script}-Paket "ublichen Listenumgebungen
% vorhanden:
%
% \subsection{"`description"'-Umgebung}
%    \begin{macrocode}
\newenvironment{description}
               {\list{}{\labelwidth\z@ \itemindent-\leftmargin
                        \let\makelabel\descriptionlabel}}
               {\endlist}
\newcommand\descriptionlabel[1]{\hspace\labelsep
                                \descfont #1}
%    \end{macrocode}
%
% \subsection{"`labeling"'-Umgebung}
%    \begin{macrocode}
\newenvironment{labeling}[2][]
               {\def\sc@septext{#1}
                \list{}{\settowidth{\labelwidth}{#2#1}
                        \leftmargin\labelwidth \advance\leftmargin by \labelsep
                        \let\makelabel\labelinglabel}}
               {\endlist}
\newcommand\labelinglabel[1]{#1\hfil\sc@septext}
%    \end{macrocode}
%
% \subsection{"`verse"'-Umgebung}
%    \begin{macrocode}
\newenvironment{verse}
               {\let\\=\@centercr
                \list{}{\itemsep      \z@
                        \itemindent   -1.5em%
                        \listparindent\itemindent
                        \rightmargin  \leftmargin
                        \advance\leftmargin 1.5em}%
                \item[]}
               {\endlist}
%    \end{macrocode}
%
% \subsection{"`quotation"'- und "`quote"'-Umgebung}
%    \begin{macrocode}
\newenvironment{quotation}
               {\list{}{\listparindent 1em%
                        \itemindent    \listparindent
                        \rightmargin   \leftmargin
                        \parsep        \z@ \@plus\p@}%
                \item[]}
               {\endlist}
\newenvironment{quote}
               {\list{}{\rightmargin\leftmargin}%
                \item[]}
               {\endlist}
%    \end{macrocode}
%
% \section{Feld-Variablen}
%
%  \begin{macro}{\fromname}
%  \begin{macro}{\frombranch}
%  \begin{macro}{\fromsig}
%  \begin{macro}{\fromaddress}
%  \begin{macro}{\fromplace}
%  \begin{macro}{\fromlocation}
%  \begin{macro}{\frombackaddress}
%  \begin{macro}{\telephonenum}
%  \begin{macro}{\varyourref}
%  \begin{macro}{\varyourmail}
%  \begin{macro}{\varmyref}
%  \begin{macro}{\varcustomer}
%  \begin{macro}{\varinvoice}
%  \begin{macro}{\varrefitemi}
%  \begin{macro}{\varrefitemii}
%  \begin{macro}{\varrefitemiii}
%  \begin{macro}{\varrefitemnamei}
%  \begin{macro}{\varrefitemnameii}
%  \begin{macro}{\varrefitemnameiii}
%  \begin{macro}{\@specialmail}
%  \begin{macro}{\@title}
%  \begin{macro}{\@subject}
% Es gibt in |scrlettr| verschiedene Feld-Variablen, die alle mit
% einer Zeichenkette belegt werden k"onnen, aber als leer
% initialisiert werden.
%    \begin{macrocode}
\def\fromname{}
\def\frombranch{}                       % RTL 21.04.94
\def\fromsig{}
\def\fromaddress{}
\def\fromplace{}
\def\fromlocation{}
\def\frombackaddress{}
\def\telephonenum{}
\def\varyourref{}
\def\varyourmail{}
\def\varmyref{}
\def\varcustomer{}
\def\varinvoice{}
\def\varrefitemi{}
\def\varrefitemii{}
\def\varrefitemiii{}
\def\varrefitemnamei{}
\def\varrefitemnameii{}
\def\varrefitemnameiii{}
\def\@specialmail{}
\def\@title{}
\def\@subject{}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\name}
%  \begin{macro}{\branch}
%  \begin{macro}{\signature}
%  \begin{macro}{\adress}
%  \begin{macro}{\place}
%  \begin{macro}{\location}
%  \begin{macro}{\backaddress}
%  \begin{macro}{\telephone}
%  \begin{macro}{\yourref}
%  \begin{macro}{\yourmail}
%  \begin{macro}{\myref}
%  \begin{macro}{\customer}
%  \begin{macro}{\invoice}
%  \begin{macro}{\refitemi}
%  \begin{macro}{\refitemii}
%  \begin{macro}{\refitemiii}
%  \begin{macro}{\refitemnamei}
%  \begin{macro}{\refitemnameii}
%  \begin{macro}{\refitemnameiii}
%  \begin{macro}{\specialmail}
%  \begin{macro}{\title}
%  \begin{macro}{\subject}
% F"ur jedes dieser Felder wird ein Befehl definiert, mit dem der
% Inhalt gesetzt werden kann, ohne da"s zu |\renewcommand| oder
% |\def| gegriffen werden mu"s. F"ur |\fromaddress| und
% |\fromlocation| kann mit |\address|\arg{Adresse} bzw.
% |\location|\arg{Von-Feld} auch eine komplexe \LaTeX-Definition
% gesetzt werden. F"ur die benutzerspezifischen Felder |\varrefitemi|,
% |\varrefitemii|, |\varrefitemiii| kann au"serdem jeweils ein Titel
% gesetzt werden.
%    \begin{macrocode}
\def\name#1     {\def\fromname{#1}}
\def\branch#1   {\def\frombranch{#1}}              % RTL 21.04.94
\def\signature#1{\def\fromsig{#1}}
\long\def\address#1{\def\fromaddress{#1}}
\def\place#1    {\def\fromplace{#1}}
\long\def\location#1{\def\fromlocation{#1}}
\def\backaddress#1{\def\frombackaddress{#1}}
\def\telephone#1{\def\telephonenum{#1}}
\def\yourref#1  {\def\varyourref{#1}}
\def\yourmail#1 {\def\varyourmail{#1}}
\def\myref#1    {\def\varmyref{#1}}
\def\customer#1 {\def\varcustomer{#1}}
\def\invoice#1  {\def\varinvoice{#1}}
\def\refitemi#1 {\def\varrefitemi{#1}}
\def\refitemii#1{\def\varrefitemii{#1}}
\def\refitemiii#1{\def\varrefitemiii{#1}}
\def\refitemnamei#1{\def\varrefitemnamei{#1}}
\def\refitemnameii#1{\def\varrefitemnameii{#1}}
\def\refitemnameiii#1{\def\varrefitemnameiii{#1}}
\def\specialmail#1{\def\@specialmail{#1}}
\def\title#1    {\def\@title{#1}}
\def\subject#1  {\def\@subject{{\bf #1}}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\firsthead}
%  \begin{macro}{\firstfoot}
%  \begin{macro}{\nexthead}
%  \begin{macro}{\nextfoot}
% Bei der Gelegenheit werden auch gleich die Befehle zum Setzen
% der Felder f"ur die Kopf- und Fu"szeilen der ersten und aller
% weiterer Seiten eines Briefes definiert.
%    \begin{macrocode}
\long\def\firsthead#1{\def\@firsthead{#1}}
\long\def\firstfoot#1{\def\@firstfoot{#1}}
\long\def\nexthead#1{\def\@nexthead{#1}}
\long\def\nextfoot#1{\def\@nextfoot{#1}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \section{Faltmarken, Adre"sfeld, Titel}
%
% Es werden Schalter f"ur Faltmarken, Adre"sfeld und Titel definiert.
%    \begin{macrocode}
\newif\if@fold
\newif\if@afield
\newif\if@subj
%    \end{macrocode}
%
%  \begin{macro}{\foldmarkson}
%  \begin{macro}{\foldmarksoff}
% Die Faltmarken k"onnen mit |\foldmarkson| ein- und mit |\foldmarksoff|
% abgeschaltet werden. Dies ist f"ur jeden Brief getrennt m"oglich.
%    \begin{macrocode}
\def\foldmarkson        {\@foldtrue}
\def\foldmarksoff       {\@foldfalse}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\addrfieldon}
%  \begin{macro}{\addrfieldoff}
% Das Adre"sfeld f"ur Fensterumschl"age kann mit |\addrfieldon| ein- und
% mit |\addrfieldoff| abgeschaltet werden. Dies ist f"ur jeden Brief
% getrennt m"oglich.
%    \begin{macrocode}
\def\addrfieldon        {\@afieldtrue}
\def\addrfieldoff       {\@afieldfalse}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\subjecton}
%  \begin{macro}{\subjectoff}
% Ein Betreff-Titel kann mit |\subjecton| ein- und mit |\subjectoff|
% abgeschaltet werden. Dies ist f"ur jeden Brief getrennt m"oglich.
%    \begin{macrocode}
\def\subjecton          {\@subjtrue}
\def\subjectoff         {\@subjfalse}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
% Zu Berechnung der Feldpositionen werden verschiedene
% Dimensions-Variablen ben"otigt.
%    \begin{macrocode}
\newdimen\sc@temp
\newdimen\sc@@temp
\newdimen\foldhskip
\newdimen\foldvskipi
\newdimen\foldvskipii
\newdimen\foldvskipiii
\newdimen\addrvskip
\newdimen\addrindent
\newdimen\addrwidth
\newdimen\addrheight
\newdimen\locwidth
\newdimen\refvskip
\newdimen\sigindent
%    \end{macrocode}
%
% F"ur alle Positionen gibt es Standardwerte. Diese Stellen sind leider
% extrem druckerabh"angig. Es ist daher "au"serst wichtig, da"s der
% Druckertreiber richtig eingestellt wird. Dazu kann die Testseite aus
% dem Standardpaket verwendet werden.
%
% Die Breite des "`locfield"'s h"angt von den Optionen |wlocfield| und
% |slocfield| ab und wird entweder zu $2/3$ oder $1/2$ der Restbreite
% neben dem Adre"sfeld berechnet.
%
%    \begin{macrocode}
\foldhskip      3.5mm
\foldvskipi     62mm % war: 65mm RTL
\foldvskipii    40.5mm
\foldvskipiii   58.5mm
\addrvskip      7.5mm
\addrindent     0mm
\addrwidth      70mm
\addrheight     35mm
\locwidth\textwidth
\advance\locwidth by -\addrwidth
\if@bigloc                           % mk 940330
    \advance\locwidth by \locwidth
    \divide\locwidth by 3
\else
    \divide\locwidth by 2
\fi
\refvskip       5.5mm
\sigindent      0mm
%    \end{macrocode}
%
% \section{Serienbriefe und Adre"sdateien}
%
%  \begin{macro}{\adrentry}
%  \begin{macro}{\adrchar}
% Serienbriefe werden mit Hilfe der Funktionen |\adrentry| und
% |\adrchar| und einer Adressdatei realisiert. Dar"uber hinaus
% werden mit diesen Befehlen Abk"urzungen f"ur Adressen definiert.
%    \begin{macrocode}
\def\adrentry#1#2#3#4#5#6#7#8{\ifx #8\@empty \else
 \ifx #2\@empty
  \expandafter\def\csname #8\endcsname{#1\\#3}
 \else
  \expandafter\def\csname #8\endcsname{#2 #1\\#3}
 \fi \fi}
\def\adrchar#1{}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
% \subsection{Adre"sliste oder Telefonverzeichnis}
%
% \iffalse
%</scrlettr>
% \fi
%    \begin{macrocode}
%<*dir|phone>
%    \end{macrocode}
%
% Aus der Adre"sdatei kann mit Hilfe der \LaTeX-Datei |dir.tex| eine
% Adre"sliste f"ur Faltkalender erzeugt werden. Analog dazu kann mit
% Hilfe der \LaTeX-Datei |phone.tex| ein Televonverzeichnis erzeugt
% werden. Dazu mu"s |dir.tex| nur mit \LaTeX\ bearbeitet werden. Die
% Datei mu"s dazu nicht manipuliert werden. Die gesamte Arbeit erfolgt
% interaktiv.
%
%    \begin{macrocode}
%<dir>\documentclass[headsepline,10pt,twoside]{scrartcl}
%<phone>\documentclass[12pt]{scrartcl}
%    \end{macrocode}
% Ein paar Definitionen, die anschlie"send die Arbeit erleichtern
%    \begin{macrocode}
\newcommand\j  {j}
\newcommand\ja {ja}
\newcommand\y  {y}
\newcommand\yes{yes}
\newcommand\WantKnow[2]{\typein[#2]{#1}}
\newif\ifDecision
\newcommand\adrfile{}
\newcommand\adrtitle{}
%    \end{macrocode}
% Jetzt wird dar"uber informiert, da"s das ganze eigentlich von
% Frank Neukam stammt, und von mir nur etwas ver"andert wurde.
%    \begin{macrocode}
\typeout{^^J%
%<dir>   *** dir.tex v2.0 by Frank Neukam <01 Dec 1993>^^J%
%<phone> *** phone.tex v2.0 by Frank Neukam <01 Dec 1993>^^J%
         *** LaTeX2e-changes by Markus Kohm 1994/10/29^^J%
         ^^J%
%<dir>   To create a address-directory just answer the questions:^^J%
%<phone> To create a phone-number-list just answer the questions:^^J%
         ^^J}
%    \end{macrocode}
% Es wird gefragt und entschieden, ob die deutsche Anpassung ben"otigt
% wird.
%    \begin{macrocode}
\WantKnow{Use german? [y/n]^^J%
          Mit deutscher Sprachanpassung? [j/n]}{\answer}
\ifx\j  \answer\Decisiontrue\else
\ifx\ja \answer\Decisiontrue\else
\ifx\y  \answer\Decisiontrue\else
\ifx\yes\answer\Decisiontrue\else
               \Decisionfalse\fi\fi\fi\fi
\ifDecision
     \usepackage{german}
\fi
%    \end{macrocode}
% Nun kann noch eine Konfigurationsdatei eingelesen werden. Diese
% kann z.B. dazu verwendet werden, ein Umlaut-package einzubinden,
% o."a.
%    \begin{macrocode}
%<dir>\InputIfFileExists{dir.cfg}{%
%<phone>\InputIfFileExists{phone.cfg}{%
     \typeout{Load local configuration-file dir.cfg.}{%
     \typeout{No local configuration-file dir.cfg found.}
%    \end{macrocode}
%
% Nun wird nach der Adre"sdatei gefragt:
%    \begin{macrocode}
\WantKnow{^^J%
          Name of address-file (without .adr)?^^J%
          Name der Adressdatei (ohne .adr)?}{\adrfile}
%    \end{macrocode}
% Jetzt wird noch ein Titel ben"otigt:
%    \begin{macrocode}
\WantKnow{^^J%
          Title of directory/list?^^J%
          Titel des Verzeichnisses?}{\adrtitle}
%    \end{macrocode}
%
% Der Seitenspiegel ist hier fest. Das Ergebnis mu"s dann nur noch ein
% wenig zurechtgeschnitten und gefaltet werden.
%    \begin{macrocode}
%<*dir>
\newdimen\paperwidth
\newdimen\leftfield
\newdimen\rightfield
\newdimen\adrindent
\paperwidth 210mm
\leftfield 40mm
\rightfield 25mm
\adrindent 1em
\advance\leftfield by -\adrindent
\textwidth 70mm
\oddsidemargin -1in
\evensidemargin -1in
\advance\oddsidemargin by 9mm
\advance\evensidemargin by \paperwidth
\advance\evensidemargin by -9mm
\advance\evensidemargin by -\textwidth
\textheight 120mm
\headheight 1\baselineskip
\headsep 0.5\baselineskip
\footskip 1.5\baselineskip
\topmargin -1in
\advance\topmargin by 8mm
\marginparwidth 0in
\marginparsep 0in
\marginparpush 0in
\parskip 0.5\baselineskip
%</dir>
\parindent 0in
%<phone>\pagestyle{empty}
%    \end{macrocode}
%
% Jetzt beginnt das eigentliche Document:
%    \begin{macrocode}
\begin{document}
%    \end{macrocode}
%
% F"ur die Kopfzeile wird |\sffamily\bfseries| verwendet.
%    \begin{macrocode}
%<dir>\def\headfont{\sffamily\bfseries}
%    \end{macrocode}
% Der |\adrchar| wird bei |dir.tex| f"ur die Kopfzeile verwendet.
% Bei |phone.tex| erzeugt |\adrchar| lediglich einen kleinen vertikalen
% Abstand.
%    \begin{macrocode}
%<dir>\def\adrchar#1{\clearpage\typeout{#1}\markboth{#1}{#1}}
%<phone>\def\adrchar#1{\vspace{1ex}}
%    \end{macrocode}
% Jeder |\adrentry| erzeugt einen Eintrag in der Adre"sliste
%    \begin{macrocode}
%<*dir>
\def\adrentry#1#2#3#4#5#6#7#8{\hspace{\adrindent}%
 \parbox[b]{\leftfield}{\raggedright \hspace{-\adrindent}{\sc #1}%
 \ifx #2\empty \else , #2\fi%
 \ifx #3\empty \else \par #3\fi%
 \ifx #7\empty \else \par (#7)\fi}%
 \hfill%
 \parbox[b]{\rightfield}{\raggedright%
 \ifx #8\empty \else {\scriptsize #8}\par \fi #4}\par}
%</dir>
%    \end{macrocode}
% oder dem Telefonverzeichnis.
%    \begin{macrocode}
%<*phone>
\def\adrentry#1#2#3#4#5#6#7#8{\setbox0\hbox{#4}
 {\sc #1}%
 \ifx #2\empty \else , #2\fi%
 \ifx #7\empty \else \ (#7)\fi%
 \ \dotfill\ \unhbox0\par}
%</phone>
%    \end{macrocode}
% Nun wird die Adre"sdatei abgearbeitet, wenn eine solche existiert.
%    \begin{macrocode}
\ifx\adrfile\empty \else
     \InputIfFileExists{\adrfile.adr}{%
%    \end{macrocode}
% Seitenstil festlegen (keine Kopfzeile, keine Fu"szeile).
%    \begin{macrocode}
%<dir> \pagestyle{empty}
%    \end{macrocode}
% F"ur |dir.tex| eine Titelseite mit leerer R"uckseite erzeugen. Der Titel
% wird vertikal und horizontal zentriert.
%    \begin{macrocode}
%<*dir>
 \null\vfil
 \begin{center}
 {\Large \sfb \adrtitle}
 \end{center}
 \vfil\vfil\null
 \cleardoublepage
%    \end{macrocode}
% Seitenstil nun mit Kopf- und Fu"szeile.
%    \begin{macrocode}
 \pagestyle{myheadings}
%</dir>
%    \end{macrocode}
% F"ur |phone.tex| eine etwas abgesetzte, gro"se, horizontal zentrierte
% Titelzeile erzeugen.
%    \begin{macrocode}
%<phone>{\LARGE \sfb \null\hfill\adrtitle\hfill\null\par \vspace{3ex}}
%    \end{macrocode}
% Nun wird die Adre"sdatei eingelesen
%    \begin{macrocode}
     }{%
%    \end{macrocode}
% Wenn die Adre"sdatei nicht existiert, eine Fehlermeldung ausgeben.
%    \begin{macrocode}
     \typeout{^^J%
              *** File \adrfile.adr not found!^^J%
              *** Datei \adrfile.adr nicht gefunden!^^J%
              ^^J}
     }
%    \end{macrocode}
% Das war's dann auch schon.
%    \begin{macrocode}
\fi
\end{document}
%</dir|phone>
%    \end{macrocode}
% \iffalse
%<*scrlettr>
% \fi
%
% \section{Die Brief-Umgebung}
%
%  \begin{environment}{letter}
%  \begin{macro}{\stopletter}
% Diese Umgebung ist etwas anders definiert, als normalerweise von
% \LaTeX gewohnt. Mit ihr k"onnen innerhalb eines Dokuments beliebig
% viele Briefe erzeugt werden.
%    \begin{macrocode}
\long\def\letter#1{\newpage
 \if@twoside\ifodd\c@page\else \thispagestyle{empty}\null\newpage \fi\fi
 \c@page\@ne \interlinepenalty=200 \@processto{#1}}
\def\stopletter{}
\def\endletter{\stopletter\@@par\pagebreak\@@par}
\long\def\@processto#1{\expandafter\@xproc #1\\@@@\ifx\toaddress\@empty
 \else\expandafter\@yproc #1@@@\fi}
\long\def\@xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}}
\long\def\@yproc #1\\#2@@@{\def\toaddress{#2}}
%    \end{macrocode}
%  \end{macro}
%  \end{environment}
%
%  \begin{macro}{\stopbreaks}
%  \begin{macro}{\startbreaks}
% Innerhalb von Briefen wird der Umbruch etwas anders gehandhabt.
% Dadurch soll der Brieftext besser positioniert werden.
%    \begin{macrocode}
\def\stopbreaks{\interlinepenalty \@M
 \def\par{\@@par\nobreak}\let\\=\@nobreakcr
 \let\vspace\@nobreakvspace}
\def\@nobreakvspace{\@ifstar{\@nobreakvspacex}{\@nobreakvspacex}}
\def\@nobreakvspacex#1{\ifvmode\nobreak\vskip #1\relax\else
 \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi}
\def\@nobreakcr{\vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}}
\def\startbreaks{\let\\=\@normalcr
 \interlinepenalty 200\def\par{\@@par\penalty 200}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\@foldmarks}
% F"ur die Faltmarken m"ussen nicht nur Abst"ande definiert werden, es
% wird auch ein Befehl ben"otigt, um die Faltmarken zu setzen.
%    \begin{macrocode}
\def\@foldmarks{\if@fold \bgroup
 \reversemarginpar\vspace{\foldvskipi}
 \marginpar{\hspace{\foldhskip}\rule{2mm}{.2pt}} \vspace{\foldvskipii}
 \marginpar{\hspace{\foldhskip}\rule{4mm}{.2pt}} \vspace{\foldvskipiii}
 \marginpar{\hspace{\foldhskip}\rule{2mm}{.2pt}}
 \vspace{-\foldvskipiii}\vspace{-\foldvskipii}\vspace{-\foldvskipi}
 \egroup \fi}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\@addrfield}
% Dasselbe gilt auch f"ur das Adre"sfeld f"ur Fensterumschl"age. Die
% R"ucksendeadresse und die Briefart wird dabei unterstrichen.
%    \begin{macrocode}
\def\@addrfield{\bgroup
 \setbox0\vbox{\hsize\addrwidth
  \ifx\frombackaddress\@empty \else
  \underline{\scriptsize \sf \frombackaddress} \fi}
 \setbox1\vbox{\hsize\addrwidth
  \ifx\@specialmail\@empty \else
   \underline{\@specialmail} \fi}
 \setbox2\vbox{\hsize\addrwidth
  \toname \\ \toaddress}
 \vskip\addrvskip \hskip\addrindent
 \vbox to \addrheight{%
  \ifx\frombackaddress\@empty \else \box0 \fi
  \ifx\@specialmail\@empty \else \vfil\box1 \fi
  \vfil\box2\vfil}\egroup}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\@locfield}
% Das "`locfield"' wird mittels einer |minipage| gesetzt.
%    \begin{macrocode}
\def\@locfield{\begin{minipage}[b]{\locwidth}\fromlocation\end{minipage}}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\@datefield}
% Je nachdem, welche Felder definiert sind, mu"s eine gesch"aftsm"a"siger
% Standardbrief oder ein eher pers"onliches Aussehen gew"ahlt werden.
%    \begin{macrocode}
\newif\if@ref
\def\@datefield{\@reffalse
 \ifx\varyourref\@empty \else \@reftrue \fi
 \ifx\varyourmail\@empty \else \@reftrue \fi
 \ifx\varmyref\@empty \else \@reftrue \fi
 \ifx\varcustomer\@empty \else \@reftrue \fi
 \ifx\varinvoice\@empty \else \@reftrue \fi
 \ifx\varrefitemi\@empty \else \@reftrue \fi
 \ifx\varrefitemii\@empty \else \@reftrue \fi
 \ifx\varrefitemiii\@empty \else \@reftrue \fi
 \vskip -\parskip
 \vskip \refvskip
 \if@ref
  \ifx\varyourref\@empty \else
   \settowidth{\sc@temp}{\varyourref}
   \setbox0\hbox{\scriptsize \sf \yourrefname}
   \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi
   \parbox[t]{\sc@@temp}{\noindent \box0\par \varyourref}\hfill
  \fi
  \ifx\varyourmail\@empty \else
   \settowidth{\sc@temp}{\varyourmail}
   \setbox0\hbox{\scriptsize \sf \yourmailname}
   \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi
   \parbox[t]{\sc@@temp}{\noindent \box0\par \varyourmail}\hfill
  \fi
  \ifx\varmyref\@empty \else
   \settowidth{\sc@temp}{\varmyref}
   \setbox0\hbox{\scriptsize \sf \myrefname}
   \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi
   \parbox[t]{\sc@@temp}{\noindent \box0\par \varmyref}\hfill
  \fi
  \ifx\varcustomer\@empty \else
   \settowidth{\sc@temp}{\varcustomer}
   \setbox0\hbox{\scriptsize \sf \customername}
   \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi
   \parbox[t]{\sc@@temp}{\noindent \box0\par \varcustomer}\hfill
  \fi
  \ifx\varinvoice\@empty \else
   \settowidth{\sc@temp}{\varinvoice}
   \setbox0\hbox{\scriptsize \sf \invoicename}
   \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi
   \parbox[t]{\sc@@temp}{\noindent \box0\par \varinvoice}\hfill
  \fi
  \ifx\varrefitemi\@empty \else
   \settowidth{\sc@temp}{\varrefitemi}
   \setbox0\hbox{\scriptsize \sf \varrefitemnamei}
   \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi
   \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemi}\hfill
  \fi
  \ifx\varrefitemii\@empty \else
   \settowidth{\sc@temp}{\varrefitemii}
   \setbox0\hbox{\scriptsize \sf \varrefitemnameii}
   \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi
   \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemii}\hfill
  \fi
  \ifx\varrefitemiii\@empty \else
   \settowidth{\sc@temp}{\varrefitemiii}
   \setbox0\hbox{\scriptsize \sf \varrefitemnameiii}
   \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi
   \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemiii}\hfill
  \fi
  \ifx\@date\@empty \else
   \settowidth{\sc@temp}{\@date}
   \setbox0\hbox{\scriptsize \sf \datename}
   \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi
   \parbox[t]{\sc@@temp}{\noindent \box0\par \@date}
  \fi
  \par
  \vspace{2.5\baselineskip}
 \else
  {\ifx\@date\@empty \else \raggedleft\fromplace\@date\par \fi}
  \vspace{1.5\baselineskip}
 \fi}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\maketitle}
%  \begin{macro}{\@subjfield}
% Der eigentliche Titel wir mit |\maketitle| gesetzt. Dies sollte
% jedoch ebenso wie der Betreff \emph{nicht} manuell geschehen.
%    \begin{macrocode}
\def\maketitle{\ifx\@title\@empty \else
 {\centering \LARGE \sffamily\bfseries \@title\par}
 \vspace{1\baselineskip} \fi}

\def\@subjfield{\if@subj%
  \ifx\@subject\@empty\else\subjectname: \fi
 \fi \@subject \par \vspace{1\baselineskip}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\opening}
% Denn beim Er"offnungsgru"s mit |\opening| wird neben s"amtlichen
% Feldern auch der Titel und der Betreff gesetzt.
%    \begin{macrocode}
\def\opening#1{\thispagestyle{firstpage} \null \@foldmarks
 \if@afield \@addrfield \hfill \@locfield \par \fi
 \@datefield
 \maketitle
 \@subjfield
 #1\par%
 \vspace{0.5\baselineskip}% added by unknown
 \nobreak}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\closing}
% Au"ser dem Er"offnungsgru"s mit |\opening| gibt es nat"urlich auch
% einen Schlu"sgru"s mit |\closing|, bei dem au"serdem die
% Unterschrift u."a. gesetzt wird.
%    \begin{macrocode}
\long\def\closing#1{\par\nobreak\vspace{0.5\baselineskip}
 \stopbreaks \noindent \sc@temp\textwidth \advance\sc@temp by
 -\sigindent \hspace{\sigindent}%
 \parbox{\sc@temp}{\raggedright \ignorespaces #1\\[4ex]
 \ifx\@empty\fromsig \fromname \else \fromsig \fi\strut}\par
 \vspace{1.5\baselineskip}}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\ps}
% Ebenfalls m"oglich ist ein Postscriptum. Dieser Befehl erwartet
% das Postscriptum nicht als Argument, sondern schaltet zum Nachtext
% um.
%    \begin{macrocode}
\def\ps{\par\startbreaks}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\cc}
% Dar"uber hinaus gibt es noch einen Verteiler. Dieser wird
% sauber formatiert.
%    \begin{macrocode}
\def\cc#1{\par\noindent \parbox[t]{\textwidth}{\@hangfrom{\ccname: }%
 \ignorespaces #1\strut}\par}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\encl}
% Auch Anlagen werden ordentlich gesetzt.
%    \begin{macrocode}
\def\encl#1{\par\noindent \parbox[t]{\textwidth}{\@hangfrom{\enclname: }%
 \ignorespaces #1\strut}\par}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\footnoterule}
%  \begin{macro}{\@makefntext}
% Fu"snoten werden durch eine Linie abgetrennt. Sie werden wie im gesamten
% \textsf{KOMA-Script}-Paket gewohnt formatiert.
%    \begin{macrocode}
\def\footnoterule{\kern-1\p@
 \hrule width 0.4\columnwidth
 \kern .6\p@}
\long\def\@makefntext#1{\noindent \sc@temp\columnwidth%
 \advance\sc@temp by -1.5em \hbox to 1em{\hss$^{\@thefnmark}$}\hskip .5em%
 \parbox[t]{\sc@temp}{\parindent 0pt\parskip 0pt\hskip -.5em #1}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
% Aufz"ahlungen werden mit arabischen Zahlen numeriert.
%    \begin{macrocode}
\def\theequation{\arabic{equation}}
%    \end{macrocode}
% \section{Verteilung von Text- und Flie"sumgebungen}
%    \begin{macrocode}
\setcounter{topnumber}{2}
\def\topfraction{.7}
\setcounter{bottomnumber}{1}
\def\bottomfraction{.3}
\setcounter{totalnumber}{3}
\def\textfraction{.2}
\def\floatpagefraction{.5}
\setcounter{dbltopnumber}{2}
\def\dbltopfraction{.7}
\def\dblfloatpagefraction{.5}
%    \end{macrocode}
%
% \section{Seitenstil}
%
%  \begin{macro}{\pagestyle}
% Neben den "ublichen Seitenstilen |plain|, |headings|, |myheadings|, |empty|
% gibt es bei |scrlettr| noch einen Stil f"ur die erste Seite eines Briefs.
%    \begin{macrocode}
\def\@firsthead{%
  \parbox[b]{\textwidth}
    {\begin{center}
       {\sc \ignorespaces \fromname}\\[-8pt]
       \rule{\textwidth}{.4pt}\\
       \ignorespaces \fromaddress
     \end{center}}}
\def\@firstfoot{}
\def\@nexthead{%
  \parbox[b]{\textwidth}
  {{\sc \ignorespaces \fromname}\\[8pt]
   \headtoname\ \ignorespaces \toname \hfill \datename:\ \@date \hfill
   \pagename\ \thepage\\[-8pt]
   \rule{\textwidth}{.4pt}}}
\def\@nextfoot{}

\def\ps@plain{%
  \def\@evenhead{\sffamily\bfseries\fontsize{10pt}{12}\selectfont
  \hfil-- \thepage\ --\hfil}%
 \let\@oddhead\@evenhead%
 \def\@evenfoot{}%
 \def\@oddfoot{}}
\def\ps@firstpage{%
 \def\@evenhead{\@firsthead}%
 \let\@oddhead\@evenhead%
 \def\@evenfoot{\@firstfoot}%
 \let\@oddfoot\@evenfoot}
\def\ps@headings{%
 \def\@evenhead{\@nexthead}%
 \let\@oddhead\@evenhead%
 \def\@evenfoot{\@nextfoot}%
 \let\@oddfoot\@evenfoot}
%    \end{macrocode}
%  \end{macro}
%
% \section{Voreinstellungen}
%
% Voreingestellt sind Faltmarken,
%    \begin{macrocode}
\@foldtrue
%    \end{macrocode}
% Adre"sfeld,
%    \begin{macrocode}
\@afieldtrue
%    \end{macrocode}
% kein Betrefftitel,
%    \begin{macrocode}
\@subjfalse
%    \end{macrocode}
% Einfache Kopfzeilen,
%    \begin{macrocode}
\ps@plain
%    \end{macrocode}
% Seitennumerierung mit arabischen Zahlen,
%    \begin{macrocode}
\pagenumbering{arabic}
%    \end{macrocode}
% kein Abgleich des unteren Randes
%    \begin{macrocode}
\raggedbottom
%    \end{macrocode}
% und europ"aische Handhabung des Leerschritts. Letzteres sollte eigentlich
% von der Sprachanpassung (z.B. |german.sty| oder |german3.sty| erledigt)
% werden und wird in einer der n"achsten Versionen vermutlich entfernt.
%    \begin{macrocode}
\frenchspacing
%    \end{macrocode}
%
% \section{Das Ende}
%
%    \begin{macrocode}
%</scrlettr>
%    \end{macrocode}
%
% \GlossaryPrologue{\addchap*{"Anderungs Verzeichnis}
%                   Die erste Version des \textsf{KOMA-Script}-Pakets
%                   stammt vom 7.\,Juli~1994. Es werden nur die
%                   "Anderungen ab diesem Zeitpunkt dokumentiert.\par%
%                   \vspace{1em}\noindent}
% \PrintChanges
%
% \Finale
%
\endinput